前面的推文我们掌握了索引调优技术,今天给大家分享T-SQL调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试。
对T-SQL语句进行调校是DBA调优数据库性能的主要任务,因为不同的查询语句,即使查询出来的结果一致,其消耗的时间和系统资源也有所不同,所以如何使查询语句最优化是调优数据库的一个重要手段,本章节主要介绍常用的T-SQL调校方法。
01NOT IN和NOT EXISTS
在以前的做法中,如果子查询需要扫描子表中的所有行时,将NOT IN语句重写为NOT EXISTS语句,这是因为子查询会对聚簇索引执行全扫描,并且NOT IN不应用于索引,但是现在由于优化器的进步,无论使用哪种方法的代码,都可以较高的效率执行查询语句。
下面是两种查询代码:
select * from people
where personid not in
(select id from boysnames where name = '123'
)
select * from people
where not EXISTS
(select id from boysnames where name = '123'
)
并行运行这两个查询,并显示