最近一直在研究查询优化,希望同大家一同讨论讨论(SQL Server)

0
一般优化可以大致分为两个步骤:
第一、分析定位问题所在点
第二、如何针对性的解决方案

看起来很简单的两个步骤,但在实际工作中却很难保证做到并且做好。
有几个问题:
导致性能不佳的原因有哪几点?如何判断是这些原因造成的?
如何读懂统计信息?
如何读懂执行计划?
如何判断索引是否合理?
希望大家都说说
已邀请:
0

阿瑞其斤 2013-12-28 回答

查询优化涉及面太广了(若数据库设计本身如果存在硬伤,那再怎么优化也是无济于事),
一般针对具体某个语句的优化可以用
SET STATISTICS PROFILE/IO/TIME ON --开启
SET STATISTICS PROFILE/IO/TIME OFF --关闭
去查看该条语句的 执行计划、系统资源消耗、执行时间.
看执行计划的时候 只看关键词以及对应的执行次数.
个人理解: Scan < Loop < Seek
另外尽量减少语句的嵌套层数,条件中尽量少用函数
还有一些针对具体关键字的优化,可以Google一下
至于索引的建立,也是根据你的具体的需求来的,当某个列常作为联接列或者条件的时候可以考虑把它设置成索引

要回复问题请先登录注册