9.4. SQL語句改寫
目前主流關系庫的高版本中,特別是作為主流商業關系庫的SQL Server來講,大部分場景中,同一語義和結果集的SQL語句,其不同寫法并不會影響CBO為SQL語句生成和選擇最合適、最高效的查詢計劃。但少數情況下,不同寫法的同一語義和結果集的SQL語句,CBO也許會為其生成和選擇性能存在天壤之別的不同查詢計劃。所以,當SQL語句的性能及其查詢計劃并非高效、合理時,我們可以利用不同寫法對同一語義和結果集SQL語句性能及查詢計劃的影響,來達到為該SQL語句生成合理、高效的查詢計劃和性能的目的,從而完成SQL語句調優和優化的任務,這也是現實數據庫優化工作中常見且有效的手段之一。下面,我們將通過各種SQL語句的具體改寫來介紹這種SQL調優手段的應用方法及適用場景。
9.4.1. 消除視圖(view