|
探讨大型项目中的主要问题──数据库操作
( 2008/7/10 16:17 )
在大型项目中,我想在困扰大家的主要问题为数据库的操作,本人就在项目中遇到了一些问题,在这里和大家交流下。 ◆1、 本人项目中有一个复杂视图,数据量在2千万以上,每次对这个视图进行操作时,反映都很慢,而且这个视图还经常用到,我当时想到的是缓存起来,可是因为数据量很大,缓存到服务器端是不现实的,我们项目组用到了一种解决方案,把此视图填充到物理表中,对此物理表设置索引,但是又怕用户查询记录时正好在填充物理表的时候,所以可以设置2个物理表,来回切换,即:第一次填充物理表A,第二次填充物理表B,下次再填充物理表A,如此反复,和.NET的根据时间缓存数据原理类似。大家可能会想到索引视图,可是索引视图限制太多,例如:不允许使用outer join 运算;表也不能与他自己连接;不允许进行子查询;定义索引视图的SELECT 语句不能包含下列关键词:UNION、TOP、DISTINC、COMPUTE或者HAVING;不能包含通配符,所以不是很不实用。 ◆2、 不要在数据表中用到自增长字段,因为再和其它数据库导insert脚本时,是不能控制自增长列的值的。 ◆3、 尽量少用外键约束,可以靠代码实现,外键约束会使数据库维护起来相当麻烦,尤其是在大项目中。(责任编辑:卢兆林)
|
·技巧实例:如何在.NET中访问MySQL数据库 (9-25) ·有关PB/Sybase开发过程中数据库转移介绍 (9-25) ·SQL Server 2008数据库中如何使用表值参数 (9-25) ·甲骨文推“数据库机器” 首涉电脑硬件销售 (9-25) ·入门级的ORACLE数据库备份与数据库还原 (9-24) 热议文章·对于北电信市场一线的一些看法 (9-17) 评:固定电话的优势比移动的优势几乎没有,如果有的话那可能是号码比较短:)中国人比较念... ·评论:如何击中中移动的软肋 (9-11) ·华为中高层缓发年终奖:或为备战电信招标 (8-27) ·中移动竞夺CDMA集团用户方案曝光 (8-25) ·超低报价搅局C网招标:对手指华为不正当竞争 (8-22) ·设备商围攻激进华为:它将摧毁TD (8-20) ·3G发牌猜想:三家运营商将同领TD牌照? (8-19) ·技巧实例:如何在.NET中访问MySQL数据库 (9-25) ·资料分享:Java开发中该注意的一些东西 (9-25) ·移动智能网中No.7信令的应用 (9-25) ·马力克:电网建设超前 服务经济社会 (9-25) ·CDMA实体认证机制分析 (9-25) ·基于正交调制FSK/ASK光标记交换技术 (9-25) |
|||||||||||||||
|