一、影响数据库性能的主要因素
1、服务器的硬件因素
-服务器数量
-CPU、内存、硬盘
增加服务器数量,组建分布式平台
增加CPU的数量
内存越大越好,充裕的内存可以使用SQL Server的自动优化策略,以提高Sql语句的执行效能,而且需要打开双通道等
硬盘也是性能越高越好,许多的系统的查询瓶颈会出现的I/O读写上,因此,10000转的硬盘应该是服务器的最低标准,多块硬盘的配置也可以提高系统性能,因为SQL Server 2005以上可以非常高效率的使用分区等功能,因此多块硬盘数据存储,实现并行数据存储可以大大提高系统效率
网络选择千兆以上的带宽,有可能的话使用光钎,最好可以专网专用
二、数据库设计的基本原则
1、规范命名 (提高后期维护效率)
2、三少原则(数据表、字段、组合键等)
3、控制字段引用
4、库表的重复控制
5、并发控制
6、必要的讨论(多人员,涉及到业务部门、需求部门等)
7、数据小组的审核
三、数据库设计工作的建议
1、分类拆分数据量非常大的表(减少单表记录数)
2、适当考虑分布式的分区
3、合理的索引设计
4、数据库操作的优化
5、数据库参数的调整
6、避免长事务(分解事务,减少负荷、提高效率)
7、适当超前(数据库系统生命周期长,需要在设计时考虑未来的扩展)
8、必要的工具
8、头文件的处理
四、数据库优化的原则
1、尽可能排除资源瓶颈(CPU、RAM、I/O、Network)
2、尽可能减少数据库的I/O(SQL Profiler监控I/O、CPU消耗、时间等,CPU等参数会收到外界环境的影响,I/O则在不同系统下有稳定的表现)
3、尽可能使用索引的查找(Index seek),避免使用索引扫描(Index scan)
4、减少阻塞、死锁、不恰当的索引
5、尽可能不使用游标(游标会大量消耗CPU、占用I/O)
6、尽可能不用触发器而使用存储过程
五、数据查询优化的方法
1、减少数据库访问量和数据传输量
2、避免使用不兼容的数据类型
3、避免在where子句中的“=”左侧使用表达式
4、避免使用!=或<>,is null 或者 is not null、in 或 not in
5、避免在索引字段中使用非字符大头的搜索,如“%ABC%”,因为此种查询不会使用索引
6、尽可能使用UNION方案替换OR条件
7、尽量考虑where及order by子句间的顺序按索引顺序
8、尽量使用数字型的类型
9、尽量使用>=代替>
10、合理使用Exists和not Exists
11、合理使用视图
12、合理算法的使用
13、必要时强制使用索引
14、适当考虑物理分开存储
15、使用合适的工具
六、SQL Server 2005 的新特性
• varchar(MAX)/nvarchar(MAX)/varbinary(MAX),分别替换已有的text、ntext、image
• XML类型
• 计算字段的持久化
• 索引附加字段
• 索引视图,可对视图建立索引,提高效率,但是该视图不能有视图引用
• 2005支持动态指示top的数量
• 行号,注意最后面再跟order by的情况。ROW_NUMBER /RANK / DENSE_RANK / NTILE
• 临时视图With
• 分区PARTITION

浙公网安备 33010602011771号