SQL編程技巧

SQL編程技巧java

轉至元數據結尾mysql

被賈海偉添加,被賈海偉最後更新於十二月 29, 2015  (查看更改) 轉至元數據起始sql

一、SQL儘可能採用標準SQL,有利於移植。數據庫

      好比Oracle中,CUD操做支持給表加別名,可是mysql中不支持。編程

      若是數據庫從oracle遷移到mysql,則須要修改SQL。oracle

二、在寫SQL的時候,採用可讀性好的格式。code

      例如:1行表示一個項目,SQL關鍵字保持在同一列,非SQL關鍵字縮進索引

SELECT
    COUNT(1)
FROM
    T_AUTH_USER
WHERE
    LOGIN_NAME = #{userName}
AND  XXX = YYY
GROUP BY
    AAA, BBB
ORDER BY
    CCC, EEE

 三、給查詢頻率高的表添加索引,提供查詢效率。class

四、能用一條SQL完成的,不用兩條SQL完成。效率

五、能用兩條或多條SQL完成的,不用帶遊標的存儲過程。

六、能用帶遊標的存儲過程完成的,不用JAVA實現。

七、大表查詢不用in/not in,用exists/not exists代替。

八、大表清空數據,採用truncate代替delete。

九、限制工做數據集的大小,過濾掉一切沒必要要的數據。

十、只選擇你須要的字段,杜絕使用select *查詢。

十一、杜絕使用select count(*),使用select count(1) 代替。

十二、不要查詢沒必要要的表。

1三、儘可能避免在JOIN和WHERE子句中進行計算。

1四、特殊場景下使用1=1,1=2組合查詢條件。

        "1=1"表示所有選擇,"1=2"表示所有不選。

相關文章
相關標籤/搜索