如何优化数据库的数据查询

如何优化数据库的数据查询》摘要: 【51CTO.com独家特稿】 6月14日,微软顶级数据库专家与51CTO网友就“怎样成为一名高效的DBA?”这一主题进行了面对面的热烈讨论,这是访谈系列文章中的一篇节 欲看专题请进入:http://www.5…

【51CTO.com独家特稿】6月14日,微软顶级数据库专家与51CTO网友就“怎样成为一名高效的DBA?”这一主题进行了面对面的热烈讨论,这是访谈系列文章中的一篇节选。

欲看专题请进入:http://www.51cto.com/exp/dba_sqlserver/

【51CTO】我们在日常工作中都会用到数据查询。在数据查询方面,我们应该如何去进行优化呢?

【微软专家】作为一个优化器的目标,是当用户写一个查询时,可以用您很自然的方法来写,而不需要担忧这个优化器是否能够形成一个很好的计划。你假如能够用一个很好的计划来写这个查询,同时,我们的优化器能够生产一个很好的Plan,那么我们这个优化器的目标就达到了。

首先很重要的一点,你需要表上有好的统计数字在上面。SQL Server对于这些统计的更新是在缺省情况下自动发生的。但是在有些情形下,比如说表很大,或者是统计分布不是按照通常的那种分布时,你有的时候需要手动来更新。所谓的手动更新就是你来运行一个任务,来更新统计数字,非凡是在运行时一定要Full Scan,这样来保证你的数字都是正确的。

第二,您一定要保障您在表上有正确的索引。有好的索引通常对于查询的性能有很大的影响。SQL Server中有两个工具可以帮助您建立好的索引。一个叫做数据库调优建议。它是如何运行的呢?你在运行查询时,数据库调优建议这一工具,就可以根据你查询的类型、既有的模式,它可以做一些推荐出来,告诉您需要在哪些表上有哪些索引。另外一个工具叫做缺失索引DMV。也是需要你运行一些查询,当过一段时间之后,DMV会告诉你有哪些可能的索引是缺失的,会建议你把这些索引加上去。这就回到一开始讲的,为了有好的查询性能,正确的索引是非常重要的。SQL Server 2005就有这样两个工具来帮助你建立正确的索引。

第三,我在看到一些用户在查询时,他们使用游标。比如你要做一个循环,每一次处理一行,这种做法会使得你的查询变得很慢,因为要一条条做。假如可能的话,你尽量不要用游标,而是把游标的方法变成一个单一查询来获取你所有需要的行和记录,就是用单一查询的方式,而不是游标的方式。

【相关文章】

    第一篇:轻松维护SQL Server 2005数据库
      第二篇:影响数据库可用性的三大因素和具体措施
        第三篇:数据库性能之数据库集群概念
          第四篇:SQL Server根据访问历史日志自动分析并提供优化策略
            第五篇:数据库的安全性和异构数据库间的互操作
              第六篇:如何优化数据库的数据查询
                第七篇:数据库连锁零售行业实例问题解析
                  第八篇:数据库电信行业实例问题解析
                    第九篇:数据库防病毒实例问题解析
                      第十篇:数据库两个实例问题解析
                        第十一篇:怎样成为一个高效的DBA总结建议【责任编辑:雪花 TEL:(010)68476606-8007】
你的位置:电脑故障网 >> 数据库 >> SQL Server >> 如何优化数据库的数据查询