首页 > 数据库 > SQL Server > 正文

经验总结:讲解大型数据库的设计准则

2024-08-31 00:46:00
字体:
来源:转载
供稿:网友

这篇文章主要介绍了大型数据库设计所应掌握的基本准则,具体内容请参考下文。

一个好的数据库产品不等于就有一个好的应用系统,如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。一般来讲,在一个MIS系统分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。笔者依据多年来设计和使用数据库的经验,提出以下一些设计准则,供同仁们参考。

命名的规范

---- 不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库。

游标(Cursor)的慎用

---- 游标提供了对特定集合中逐行扫描的手段,一般使用游标逐行遍历数据,根据取出的数据不同条件进行不同的操作。尤其对多表和大表定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等特甚至死机,笔者在某市《住房公积金管理系统》进行日终帐户滚积数计息处理时,对一个10万个帐户的游标处理导致程序进入了一个无限期的等特(后经测算需48个小时才能完成)(硬件环境:Alpha/4000 128Mram ,Sco Unix,Sybase 11.0),后根据不同的条件改成用不同的UPDATE语句得以在二十分钟之内完成。

以下为引用的内容:
示例如下:

Declare Mycursor cursor for select count_no from COUNT

Open Mycursor

Fetch Mycursor into @vcount_no

While (@@sqlstatus=0)

Begin

If @vcount_no=’’ 条件1

操作1

If @vcount_no=’’ 条件2

操作2

...

Fetch Mycursor into @vcount_no

End

改为

Update COUNT set 操作1 for 条件1

Update COUNT set 操作2 for 条件2

共2页上一页12下一页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表