MSSQL设计经验及索引设计分享-设计方法总结


1 数据库、表名、字段等命名规则方案

数据库:采用当前业务的英文名称缩写作为数据库名称
表名:采用同一的表名前缀+所属业务名称+所属模块名+所属子模块名称
字段:采用页面字段的英文或拼音编码名称,整个数据库中意思一致的字段需命名一致
索引:IX_表名_索引列_包含列

2 字段类型定义

bool类型采用bit类型定义
变长字段使用varchar
非英文字符需使用nvarchar nchar类型
如果字段为整型应避免定义为浮点型
多媒体数据尽量避免放入数据库中,或单独建立一个数据库存放此二进制数据

3 表设计中尽量将字段设置为存在默认值,或根据业务增加相应的约束,从数据库层面避免数据异常

4 对一些主表业务尽量使用一些汇总,虽然存在冗余,但在后续的报表中会减少逻辑读取次数,可加快数据检索速度

5 对一些业务增加非常快的明细表,可按时间进行水平拆分,避免出现单表数据过多,导致检索速度变慢

6 索引设置中,将一些表中常用的查询列建立为组合索引

7 表中可确定唯一记录的键,需建立索引

8 对取值不能重复的表,需建立唯一索引,避免数据重复

9 频繁查询的字段上,建立索引,可加快查询速度

10 sql select 编写,只取所需要的列,减少返回行的数量