解决SQL Server SQL语句性能问题(9)——SQL语句改写(1)
9.4. SQL语句改写
目前主流关系库的高版本中,特别是作为主流商业关系库的SQL Server来讲,大部分场景中,同一语义和结果集的SQL语句,其不同写法并不会影响CBO为SQL语句生成和选择最合适、最高效的查询计划。但少数情况下,不同写法的同一语义和结果集的SQL语句,CBO也许会为其生成和选择性能存在天壤之别的不同查询计划。所以,当SQL语句的性能及其查询计划并非高效、合理时,我们可以利用不同写法对同一语义和结果集SQL语句性能及查询计划的影响,来达到为该SQL语句生成合理、高效的查询计划和性能的目的,从而完成SQL语句调优和优化的任务,这也是现实数据库优化工作中常见且有效的手段之一。下面,我们将通过各种SQL语句的具体改写来介绍这种SQL调优手段的应用方法及适用场景。
9.4.1. 消除视图(view