前言
索引基礎知識
建立索引
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...