优化数据库的注意事项:
1、关键字段建立索引。
2、使用存储过程,它使SQL变得更加灵活和高效。
3、备份数据库和清除垃圾数据。
4、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的序列号)
5、清理删除日志。
SQL语句优化的基本原则:
1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:①.有大量重复值、且经常有范围查询(between, >,< ,>=,< =)和order by、group by发生的列,可考虑建立群集索引;②.经常同时存取多列,且每列都含有重复值可考虑建立组合索引;③.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。
2、IS NULL 与 IS NOT NULL
不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。
3、IN和EXISTS
EXISTS要远比IN的效率高。里面关系到full table scan和range scan。几乎将所有的IN操作符子查询改写为使用EXISTS的子查询。
4、在海量查询时尽量少用格式转换。
5、当在SQL SERVER 2000中,如果存储过程只有一个参数,并且是OUTPUT类型的,必须在调用这个存储过程的时候给这个参数一个初始的值,否则会出现调用错误。
6、ORDER BY和GROPU BY
使用ORDER BY和GROUP BY短语,任何一种索引都有助于SELECT的性能提高。注意如果索引列里面有NULL值,Optimizer将无法优化。
7、任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。
8、IN、OR子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子句中应该包含索引。
9、SET SHOWPLAN_ALL ON 查看执行方案。DBCC检查数据库数据完整性。DBCC(DataBase Consistency Checker)是一组用于验证SQL Server数据库完整性的程序。
10、谨慎使用游标
在某些必须使用游标的场合,可考虑将符合条件的数据行转入临时表中,再对临时表定义游标进行操作,这样可使性能得到明显提高。
注释:所谓的优化就是WHERE子句利用了索引,不可优化即发生了表扫描或额外开销。经验显示,SQL Server性能的最大改进得益于逻辑的数据库设计、索引设计和查询设计方面。反过来说,最大的性能问题常常是由其中这些相同方面中的不足引起的。其实SQL优化的实质就是在结果正确的前提下,用优化器可以识别的语句,充份利用索引,减少表扫描的I/O次数,尽量避免表搜索的发生。其实SQL的性能优化是一个复杂的过程,上述这些只是在应用层次的一种体现,深入研究还会涉及数据库层的资源配置、网络层的流量控制以及操作系统层的总体设计。
分享到:
相关推荐
优化SQL Server数据库的经验总结
优化SQLServer数据库的50种方法
sql 语句优化 SQL Server数据库查询速度慢的原因有很多
50种方法巧妙优化你的SQLServer数据库50种方法巧妙优化你的SQLServer数据库50种方法巧妙优化你的SQLServer数据库50种方法巧妙优化你的SQLServer数据库50种方法巧妙优化你的SQLServer数据库
在大多数情况下,为了充分发挥Windows NT 4.0系统效能,内存的作用比起处理器的处理能力更具有影响力,特别是在客户/服务器模式环境...本文主要介绍利用如何优化SQLServer数据库服务器的内存配置提出一些认识和看法。
SQL Server数据库性能优化 _数据库技巧_IT...SQL Server 数据库 性能优化 查询,SQL Server数据库性能优化,影响SQL Server数据库性能的一些因素及SQL Server进行性能优化的原理,并且提出了一些指导性的原则来优化...
sql server的数据库增删改操作过于频繁后,会影响存取速度,甚至导致系统奔溃,使用改脚本重建索引即可使数据库读写速度回复正常
详细讲述如何优化SQL SERVER数据库的50种方法
对优化SQL SERVER数据库和如何使用T-SQL语句来操作SQL SERVER数据库进行了系统的规化,由简单到深入的讲解以及附加示例代码给于参考。本资料属于原创,如要转载,请征求作者的许可!!!
书第1,2章分别介绍了使用Visual C#和SQL Server开发数据库应用程序的基本知识,第3章~第10章,通过开发8个完整实用的数据库应用程序,系统全面地介绍了用Visual C#和SQL Server来进行数据库应用程序开发的各种技术...
sqlserver数据库优化50法
内存是影响Microsoft SQL Server系统性能的一个重要因素,SQL Server数据库安装时将 为具有32MB物理内存的机器缺省配置16MB可用内存,16MB物理内存的机器缺省配置4MB可用内 存。应在Microsoft SQL Server数据库安装...
超级全面的SQLserver2008 数据库性能优化 方法
为最有效地优化 Microsoft® SQL Server™ 2000 的性能,必须在极为多样化的情形中识别出会使性能提升最多的区域,并对这些区域集中分析。 虽然其它系统级性能问题(如内存、硬件等)也是研究对象,但经验表明从这些...
50种方法巧妙优化SQL Server数据库 50种方法巧妙优化SQL Server数据库
SQL Server数据库 安装与升级 SQL Server数据库 查询语句 SQL Server数据库 数据备份和恢复 ...SQL Server数据库 性能和优化 SQL Server数据库 集群 SQL Server数据库 常见问题 SQL Server数据库 精彩问答
50种方法优化SQL Server数据库查询
本文档给大家带来了关于SqlServer数据的完整教程。本教程会包含多个阶段来学习,从零基础到高级进阶,再到DBA的全套教程,主要内容包括Sql语言基础、数据库设计原则、高级查询技巧、存储过程编写、性能优化调整等。...
SQL Server数据库性能优化之SQL语句篇