一.常規(guī)SQL語句優(yōu)化
1.不用*來代替所有列名,盡量采用與訪問表相關(guān)的實際列名吧彪;
2.用TRUNCATE 代替DELETE
圖片發(fā)自簡書App
3.在確保完整性的情況下,多使用COMMIT語句。
4.盡量減少表的查詢次數(shù)。
二.表連接優(yōu)化
1.驅(qū)動表的選擇:
驅(qū)動表是指被最先訪問的表帖旨;
2.where子句連接順序
表連接最好都在where條件以前
三.合理使用索引
從總行中查詢2%-4%的表,可以考慮建立索引
建立索引的基本原則:
1.以查詢關(guān)鍵字為基礎(chǔ)灵妨,表中的行隨機排列
2.包含的列數(shù)相對較少的表
3.表中大多數(shù)查詢都包含相對簡單的WHERE從句
4.以查詢關(guān)鍵字作為基礎(chǔ)表解阅,且該表中的行遵循均勻分布
5.緩存命中率低,并且不需要操作系統(tǒng)權(quán)限
選擇索引列的原則:
1.WHERE從句經(jīng)常使用的關(guān)鍵字
2.SQL語句中頻繁使用的表連接的關(guān)鍵字
3.可選擇性高的關(guān)鍵字
4.取值較少的關(guān)鍵字或表達式
5.不要把頻繁修改的列作為索引列
6.不要使用包含操作符或函數(shù)的WHERE從句中的關(guān)鍵字作為索引
7.如果大量并發(fā)的INSERT,UPDATE,DELETE語句訪問了父表或者子表泌霍,則考慮使用完整性約束的外部鍵作為索引
8.在選擇索引時货抄,要考慮改索引所引起的INSERT UPDATE,DELETE操作是否值得