高效数据库设计的五大原则:
1、读写分离原则。这里的读写分离是指,读多写少的字段与写多读少的字段分开存放于不同的表。按照磁盘的工作原理,磁盘是以扇区为单位存放数据的,并且有写缓冲、排队、延迟写入的特点。数据库是以记录为单位的,每次访问,总是将整行记录读入缓冲区,再依命令所需的字段从中筛选数据,组成返回的记录行。读写分离原则能显著改善磁盘和记录的缓存性能。
2、高频与低频字段分离原则。高频字段是指访问较频繁的字段,低频字段是指访问频度较低的字段。不管是高频字段还是低频字段,数据库总是读取整行记录,然后筛选。命令中不访问到的字段,同样要先读入内存。高低频分开存放,能减少记录行读入的字节数(写入也一样),减少不必要的读写。如果部署分布式数据库,按这个原则作垂直划分,其效果比单机数据库的效果更明显。
3、为最常用的字段建立索引。当命令中涉及的字段都在某个索引中时,命令执行过程中不需要访问表数据,仅从索引中获得所需的字段值,组成记录返回。
4、为经常搜索的字段建立索引。当要搜索的字段都存在某个索引中时,索引过程只需在索引中作匹配运算,仅当匹配到某个记录,并且要返回的字段不在索引中时,才从表数据中取回这行记录。
5、主键越短越好,并且***是整型。索引是以区为单位存放的,类似于磁盘的扇区。索引树节点也是以区为单位的。索引的大小,与索引项的大小成正比。索引项的字节数越少越好。索引项总是定长的,如果索引字段包含可变长字段(varchar,nvarchar之类的),那么索引该字段的字节数是这个字段的***可能字节数。另一方面,在IA-32架构的CPU中,读写一个32位(4字节)整型值的速度是读取一个字节的2倍!如果读取一个100字节的字符串,耗时是读一个32位整型的200倍。可见,主键的选型,对检索记录的性能有非常大的影响。
总结:在实际的数据库设计中,我们应该根据具体的情况灵活地将上面的原则应用到设计过程中,切不可生搬硬套,以免降低数据库的效率。
【编辑推荐】