SQL編程建議

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

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

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

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

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

SELECT

    COUNT(1)

FROM

    T_AUTH_USER

WHERE

    LOGIN_NAME = #{userName}

AND  XXX = YYY

GROUP BY

    AAA, BBB

ORDER BY

    CCC, EEE

 

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

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

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

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

七、大表查詢不用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"表示所有不選。

相關文章
相關標籤/搜索