挽星

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、影响数据库性能的主要因素

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

posted on 2010-09-23 00:37  挽星  阅读(265)  评论(0)    收藏  举报