首页 -> 数据库 -> 正文

探讨大型项目中的主要问题──数据库操作

来源:网络摘录 日期:2008-09-16 02:39 点击:0

在大型项目中,我想在困扰大家的主要问题为数据库的操作,本人就在项目中遇到了一些问题,在这里和大家交流下。

◆1、 本人项目中有一个复杂视图,数据量在2千万以上,每次对这个视图进行操作时,反映都很慢,而且这个视图还经常用到,我当时想到的是缓存起来,可是因为数据量很大,缓存到服务器端是不现实的,我们项目组用到了一种解决方案,把此视图填充到物理表中,对此物理表设置索引,但是又怕用户查询记录时正好在填充物理表的时候,所以可以设置2个物理表,来回切换,即:第一次填充物理表A,第二次填充物理表B,下次再填充物理表A,如此反复,和.NET的根据时间缓存数据原理类似。大家可能会想到索引视图,可是索引视图限制太多,例如:不允许使用outer join 运算;表也不能与他自己连接;不允许进行子查询;定义索引视图的SELECT 语句不能包含下列关键词:UNION、TOP、DISTINC、COMPUTE或者HAVING;不能包含通配符,所以不是很不实用。

◆2、 不要在数据表中用到自增长字段,因为再和其它数据库导insert脚本时,是不能控制自增长列的值的。

◆3、 尽量少用外键约束,可以靠代码实现,外键约束会使数据库维护起来相当麻烦,尤其是在大项目中。



发表评论

昵称:    邮箱:
切换编辑器:         默认编辑器:
3~2000 字节 - 禁用BB代码 - 使用HTML代码 - 认证码

 

[JAVA 起点网]

[欢迎投递文章]       [加入我们]

www.startajava.com

Pageloaded in: 0.03115s Queries: 0 Powered By PHPCF.Com