sql--性能優(yōu)化

2018-10-08

查詢的模糊匹配:盡量避免在一個復雜查詢里面使用模糊匹配

索引問題:缺少合適的索引
法則:不要在建立的索引的數(shù)據(jù)列上進行下列操作:
避免對索引字段進行計算操作
避免在索引字段上使用not,<>,!=
避免在索引列上使用IS NULL和IS NOT NULL
避免在索引列上出現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換
避免在索引字段上使用函數(shù)
避免建立索引的列中使用空值。

復雜操作:部分select、update語句寫的很復雜。可以考慮拆成幾步

update:同一個表的修改在一個過程里出現(xiàn)很多次。整合到一個語句

在可以使用UNION ALL的語句里使用了UNION:UNION 因為會將各查詢子集的記錄做比較,故比起UNION ALL ,通常速度都會慢上許多。

在WHERE 語句中,盡量避免對索引字段進行計算操作

對Where 語句的法則:
避免在WHERE子句中使用in,not in,or 或者having
不要以字符格式聲明數(shù)字,要以數(shù)字格式聲明字符值。(日期同樣)
WHERE后面的條件順序影響

對Select語句的法則:在應用程序、包和過程中限制使用select * from table這種方式。

排序:避免使用耗費資源的操作
帶有DISTINCT,UNION,MINUS,INTERSECT,ORDER BY的SQL語句會啟動SQL引擎 執(zhí)行,耗費資源的排序(SORT)功能. DISTINCT需要一次排序操作, 而其他的至少需要執(zhí)行兩次排序

臨時表:慎重使用臨時表可以極大的提高系統(tǒng)性能

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容