SQL調優(索引)

2021-08-28 15:38:09 字數 1048 閱讀 8117

索引:主鍵索引,唯一索引,組合索引,全文索引等

sql優化步驟

首先定位慢查詢(mqsql預設是響應超過十秒鐘的才是慢查詢)

定位到了慢查詢才根據語句看採用什麼調優方式

索引的實現原理其實就是二叉樹(b+樹)

主鍵索引:

當我們在習慣性的生成primiry key的時候,就是生成了主鍵索引,採用二叉樹的形式進行生成,效率非常高。

唯一索引:

唯一索引其實就是單獨某一列索引,主鍵索引可以看作是唯一索引中的一種

組合索引:

create index idx_detp on table_name(col1,col2)可以建立索引
組合索引就是利用兩個字段建立索引,個人理解為key-value的形式,在使用語句查詢的時候,必須加上col1才能使用索引進行查詢,單單只查詢col2實際上是不會使用索引進行查詢的

全文索引

全文索引預設是不支援中文檢索的,一般全文索引採用搜尋框架進行, lucence和solr就是兩大搜尋框架。

可以使用show index from table_name檢視當前表的索引有哪些

適合建立索引的場景:

由於索引是需要消耗硬碟資源,頻繁的增刪改操作是會讓索引重構的,不是所以的情況都適合建索引,也不是建了索引都會提高效率

1:出現慢查詢並且找到sql語句

2:不是經常更新的資料

3:資料量特別大,建了索引過後比沒建索引效率高

4:索引應該建立在經常查詢的字段上

注意在使用過程中如果採用百分號(%)進行匹配,將不會觸發索引

在使用過程中如果或者(or)進行匹配,將不會觸發索引

SQL調優之八 關於SQL調優

sql調優是指對未達到預期的sql語句進行診斷和修復 sql調優是乙個反覆的過程,是一步一步的將sql語句的效能提公升到預期的目標。它是對乙個已經實施完成了的應用的問題的解決,相反的,應用設計則是在實施之前,就應該已經設定好了安全和效能的目標。一次典型的調優過程,需要達到以下的其中乙個目的 相對的,...

sql調優技巧

1 避免無計畫的全表掃瞄 如下情況進行全表掃瞄 該錶無索引 對返回的行無人和限制條件 無where子句 對於索引主列 索引的第一列 無限制條件 對索引主列的條件含在表示式中 對索引主列的限制條件是is not null或 對索引主列的限制條件是like操作且值是乙個bind variable或 打頭...

SQL調優命令

命令工具 oracle sql plus 或者cmd sqlplus mmsuser agooy8tt xian 133 64 46 26 是 set autotrace off 不產生autotrace報告,預設設定,查詢按常規執行。set autotrace on statistics 查詢按常...