如何合理地建立 Mysql 索引

2021-10-01 04:49:27 字數 1322 閱讀 4422

前言

索引基礎知識

建立索引

alter

table table_name add

index

(index_name)

;

刪除索引

alter

table table_name drop

index index_name;

檢視表中的索引

show

index

from table_name;

如何優化sql語句?

sql語句優化的思路:

先看錶的資料型別是否涉及得合理,有沒有遵守選取資料型別越簡單越小的原則;

表中的碎片是否整理;

表的統計資訊是否收集,只有統計資訊準確,執行計畫才可以幫助我們優化sql;

檢視執行計畫,檢查索引的使用情況,沒有用到索引,考慮建立;

在建立索引之前,還要檢視說索引的選擇性,來判斷這個字段是否合適建立索引(盡量選擇重複值少的字段)。

建立索引之後,再檢視一下執行計畫,對比兩次結果,看是否查詢效率提高了。

合理建立索引的三個 「經常」:

經常被查詢的列(一般放在where 條件後面);

經常用於表連線的列;

經常排序分組的列(order by 或者 group by 後面的字段)。

建立索引之前,需要確定建立該索引是否對查詢效率有幫助,我們可以通過explain來檢視某個查詢語句的查詢計畫:

然後,我們給t表的name字段新增索引:

alter

table t add

index

(name)

再檢視執行計畫:

可以看到,新增索引後,rows值從59912變成了1,說明實際掃瞄行數變得很短,掃瞄時間相應的變短了。

正確合理地使用索引

1 合理使用索引 索引是資料庫中重要的資料結構,它的根本目的就是為了提高查詢效率。現在大多數的資料庫產品都採用ibm最先提出的isam索引結構。索引的使用要恰到好處,其使用原則如下 在經常進行連線,但是沒有指定為外來鍵的列上建立索引,而不經常連線的字段則由優化器自動生成索引。在頻繁進行排序或分組 即...

合理地使用技術

公司最近有了乙個新的專案,於是你把目前最流行的技術和應用框架都寫在了一張白紙上。這些都是時下最火的技術,你覺得這些技術在你的應用裡都應該能用到。想一想,你的簡歷上將留下漂亮的一筆,用了這些偉大的技術,你的新應用也將具有極高的技術含量。其實盲目地為專案選擇技術框架,不考慮技術是否適合專案,這種做法有些...

如何合理地安排窗體的啟動順序?

public sub main 顯示登入對話方塊 dim frmsplash as frmsplashscreen new frmsplashscreen frmsplash.show threading.thread.sleep 3000 frmsplash.close 顯示使用者登入對話方塊 d...