1、执行下述代码,查看当前进程执行内容
dbcc traceon(3604)
dbcc sqltext(spid) --spid 进程号
2、执行下述代码,查看当前进程执行计划(索引引用情况)
sp_showplan spid --spid 进程号
3、若不在进程队列中,执行下述代码,查看当前sql段的执行计划(索引引用情况)
SET NOCOUNT ON
SET SHOWPLAN ON
SET NOEXEC ON
GO
具体代码
GO
SET NOCOUNT OFF
SET SHOWPLAN OFF
SET NOEXEC OFF
GO
4、执行计划显示索引使用不合理导致全表扫描、索引已引用但失效等情况,从以下方面入手:
4.1、若索引失效,执行下述代码,重建索引
reorg rebuild 表名 索引名 --某索引
reorg rebuild 表名 --全表索引
4.2、若索引失效,执行表分析
DELETE STATISTICS 表名
go
UPDATE STATISTICS 表名
go
UPDATE INDEX STATISTICS 表名
go
4.3、索引使用不合理导致全表扫描,需调整索引
1、在where条件进行表关联的字段上加索引(关联字段的数据类型保持一致)
2、where条件=左边最好不要用函数,放在=右边进行处理
sybase sql执行慢,如何调优
最新推荐文章于 2025-02-19 16:21:08 发布