设计高效数据库的五大原则

发表于:2011-7-20 09:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:pclion(CSDNblog)    来源:51Testing软件测试网采编

  高效数据库设计的五大原则:

  1、读写分离原则。这里的读写分离是指,读多写少的字段与写多读少的字段分开存放于不同的表。按照磁盘的工作原理,磁盘是以扇区为单位存放数据的,并且有写缓冲、排队、延迟写入的特点。数据库是以记录为单位的,每次访问,总是将整行记录读入缓冲区,再依命令所需的字段从中筛选数据,组成返回的记录行。读写分离原则能显著改善磁盘和记录的缓存性能。

  2、高频与低频字段分离原则。高频字段是指访问较频繁的字段,低频字段是指访问频度较低的字段。不管是高频字段还是低频字段,数据库总是读取整行记录,然后筛选。命令中不访问到的字段,同样要先读入内存。高低频分开存放,能减少记录行读入的字节数(写入也一样),减少不必要的读写。如果部署分布式数据库,按这个原则作垂直划分,其效果比单机数据库的效果更明显。

  3、为最常用的字段建立索引。当命令中涉及的字段都在某个索引中时,命令执行过程中不需要访问表数据,仅从索引中获得所需的字段值,组成记录返回。

  4、为经常搜索的字段建立索引。当要搜索的字段都存在某个索引中时,索引过程只需在索引中作匹配运算,仅当匹配到某个记录,并且要返回的字段不在索引中时,才从表数据中取回这行记录。

  5、主键越短越好,并且最好是整型。索引是以区为单位存放的,类似于磁盘的扇区。索引树节点也是以区为单位的。索引的大小,与索引项的大小成正比。索引项的字节数越少越好。索引项总是定长的,如果索引字段包含可变长字段(varchar,nvarchar之类的),那么索引该字段的字节数是这个字段的最大可能字节数。另一方面,在IA-32架构的CPU中,读写一个32位(4字节)整型值的速度是读取一个字节的2倍!如果读取一个100字节的字符串,耗时是读一个32位整型的200倍。可见,主键的选型,对检索记录的性能有非常大的影响。

  总结:在实际的数据库设计中,我们应该根据具体的情况灵活地将上面的原则应用到设计过程中,切不可生搬硬套,以免降低数据库的效率。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号