急,怎么分析执行计划来改善,SQL语句的效率,大家帮忙!!!

smx717616 2006-10-17 09:51:56
怎么分析执行计划来改善,SQL语句的效率,如 Table Scan,index seek,Nested Loops等执行计划中的关键字都是什么意思?

怎么改善效率?
...全文
4153 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Davily 2007-04-02
  • 打赏
  • 举报
回复
Up
haifeng_watt 2007-03-23
  • 打赏
  • 举报
回复
mark!
HappyQQ 2006-10-26
  • 打赏
  • 举报
回复
收藏!!
pazuochuan 2006-10-26
  • 打赏
  • 举报
回复
不用临时表不用游标,有些存储过程根本写不了啊
smx717616 2006-10-18
  • 打赏
  • 举报
回复
谢谢了。 我找到书了,仔细看看 。
wudan8057 2006-10-18
  • 打赏
  • 举报
回复
上面的是Clustered Index Scan:
wudan8057 2006-10-18
  • 打赏
  • 举报
回复
出现他的原因其实跟table scan是相似的, 你应当调整查询将这个标志改为Clustered Index Seek.
他跟table scan 的区别是他执行的速度绝对是快于table scand的,非聚集表搜索时要访问每一条记录(里面的记录是随机摆放的),clustered index scan并不一定会访问所有的记录(它是按照你定义的索引字段物理摆放的)
allright_flash 2006-10-17
  • 打赏
  • 举报
回复
1、不要使用游标
2、规范化你的数据表
3、不要使用SELECT *
4、了解你将要对数据进行的操作
5、不要给“性别”列创建索引
6、使用事务
7、小心死锁
8、不要打开大的数据集
9、不要使用服务器端游标
10、使用参数查询
11、在程序编码时使用大数据量的数据库
12、不要使用INSERT导入大批的数据
13、注意超时问题
14、不要忽略同时修改同一记录的问题
15、在细节表中插入纪录时,不要在主表执行SELECT MAX(ID)
16、避免将列设为NULLable
17、尽量不要使用TEXT数据类型
18、尽量不要使用临时表
19、学会分析查询
20、使用参照完整性
guanjm 2006-10-17
  • 打赏
  • 举报
回复
先看Table Scan,index seek 是不是全表扫描 在看索引是否用的对 调试的时候看逻辑读 越少越好
smx717616 2006-10-17
  • 打赏
  • 举报
回复
谢谢 wudan8057!!!

还有没有补充。

那 Index Scan 呢?
wudan8057 2006-10-17
  • 打赏
  • 举报
回复
Clustered Index Seek:
在表上使用聚集索引查找数据,执行很快. 他是sqlserver查询数据时所使用的查询速度最快的索引.
wudan8057 2006-10-17
  • 打赏
  • 举报
回复
Index Seek:
在表上使用非聚集索引查找数据,一般情况下执行都很快, 尤其是返回结果集很小的时候.
wudan8057 2006-10-17
  • 打赏
  • 举报
回复
Table Scan:
1、当你看到这个信息的时候,说明在你的表上没有建立聚集索引并且没有使用到索引(如过有).在这种情况下,表中的每一条记录都将被检查一次,如果表很小,那么扫描是很快的,甚至比用了索引还要快.如果表很大,他会执行很长的时间,性能会受到很大的影响.
所以当你看到这个提示的时候,你要做的第一件事就是看表的大小,表很大就添加合适的索引.
2、你可能又会发现,已经建立了一个非聚集索引,但索引仍然没有使用。因为是否使用索引还依赖于你要获取的数据量的大小以及表的大小,或者你要查询的数据可选性很小(即在同一列中数据的重复性很高),这种情况下表扫描的速度大于使用索引.

在查询计划提示中你需要留意Estimated Row Count(预计行计数) . 它的意思是查询分析器可能返回的行数。如果采用表扫描并且这个计数很高的话,查询优化器就认为使用表扫描的速度快于使用非聚集索引(如果存在的话)。
OracleRoob 2006-10-17
  • 打赏
  • 举报
回复
这个没有一个统一的标准,关键是你的SQL是否会引起表扫描,是否能充分的使用索引。

所谓性能,就是能满足需要,不超出用户的容忍度就可以。

smx717616 2006-10-17
  • 打赏
  • 举报
回复
我是想知道怎么分析它是否有性能问题,怎么改善,都代表什么。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧