Frank Hawker

          當程序員的大頭鷹

          數據庫優化技巧:not in及in語句的連接替代方案

          在編寫SQL語句時,如果要實現一張表有而另一張表沒有的數據庫時,通常第一直覺的寫法就是:
          select * from table1 where table1.id not in (select id from table2),這種方法雖然很直觀,但是in及not in的寫法經常會影響其執行的效率,對于大數據量時,這個原因經常是性能的瓶頸。在SQL Server中,可以通過左連接的方法來解決,其替代寫法如下:
          select a.* from table1 a left join table2 b on a.id=b.id where b.id is null
          同理,這個方法也適用于in的情況。

          posted on 2005-05-17 09:04 大頭鷹 閱讀(1187) 評論(0)  編輯  收藏 所屬分類: 工作札記

          導航

          統計

          公告

          常用鏈接

          留言簿(3)

          我參與的團隊

          隨筆分類(6)

          隨筆檔案(17)

          文章檔案(1)

          收藏夾(2)

          Friends' Blog

          積分與排名

          最新評論

          主站蜘蛛池模板: 浦江县| 嘉义市| 玛曲县| 凉城县| 托克逊县| 辰溪县| 纳雍县| 工布江达县| 故城县| 社会| 贡嘎县| 尉氏县| 沂南县| 阜新市| 德格县| 连州市| 锦州市| 镇远县| 峡江县| 龙泉市| 禄劝| 原阳县| 临泽县| 苏尼特右旗| 仪征市| 黄冈市| 宕昌县| 榆树市| 镇赉县| 泗阳县| 颍上县| 社旗县| 菏泽市| 英山县| 得荣县| 潍坊市| 郸城县| 顺昌县| 仙游县| 阜宁县| 泰顺县|