mssql sqlserver 高效设计数据库的注意事项


摘要:
下文分享高效设计数据库的前期思路,如下所示:
实验环境:sql server 2008 R2



数据库设计前的准备

在设计数据库表结构前,我们应对业务流程了解清楚,业务逻辑清晰,方便程序的开发和维护,避免数据冗余。
DB管理上,CPU 硬盘 内存 是否和数据预期一致。
避免数据库设计中使用触发器
提前预警 数据库可能出现的性能节点,(读性能、写性能),预计数据的大小,语句数据的修改频率,
预估数据的重复性
提前了解数据库表与表之间的关系
读写分离架构构思
预估数据库的规模和重点表
日志文件和数据文件的存放位置
规划何种数据存入数据库,何种数据存储至文件


表和索引设计

对表的应用进行分析,结合表的使用功能进行分类和规划
例: 日志表 历史表 频繁操作的库存表
————————————–
估算表的大小:将表分为 大 中 小 ,是否采用分区,或分库分表的模式

是否要符合数据库的三范式,是否要采用冗余,读写分离等摩丝好

对表字段进行规划,当一张表拥有多个字段,应将大表拆分为多个小对象,并将长变的字段和非频繁修改的表对象进行拆分

多拆分为历史表,将当前业务数据保存至当前,保证业务的可用性

表设计应选择合适的数据类型,不易过大 过小 避免格式不正确 能用smallint tinyint 就不要使用 int

表主键的设计和规划

索引建立时,应充分考虑表的查询频率 表的更新频率,索引的建立应结合业务场景和数据的操作场景

索引设计 注意包含列的选择

自增列及聚集索引:注意自增列的建立和聚集索引的设计,避免数据插入出现移动,影响插入性能