關於索引的建立規則

2021-08-30 20:02:41 字數 342 閱讀 5132

表列和索引有同樣的值集,只不過是索引是排過序的;因此找到內容的時間更少。

索引一般採用b樹演算法,一般常使用的為二叉樹演算法。

在小表上建立索引通常沒有意義,會降低效能而不是提高。比如:如果表有50行,那麼掃瞄他會比使用b樹演算法更快。

在大表上,只有當涉及索引列的查詢檢索小百分比的行(通常因小於15%)時,才應該建立索引。

索引通常在用於表聯接的列上會有用。

索引會使涉及索引列的dml操作減慢-例如,如果更新乙個這樣的列上的值,則這個索引列也必須更新;並且如果插入一行,則相應的索引可能必須重新排序,(例如乙個b樹索引可能必須重新調整),因此如果對乙個表進行平凡更新、插入或刪除,則推薦使用較少的索引

建立索引常用的規則

1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表進行連線的表,在連線欄位上應該建立索引 4 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 5 索引應該建在選擇性高的字段上 6 索引應該建在小字段上,對於大的文字字段甚至超長字段,不要建索引 7 ...

19 建立索引的規則

幾個比較經典的規則 建立索引的規則 1 利用最左字首 mysql會一直向右查詢直到遇到範圍操作 like between 就停止匹配。比如a 1 and b 2 andc 3 and d 6 此時如果建立了 a,b,c,d 索引,那麼後面的d索引是完全沒有用到,當換成了 a,b,d,c 就可以用到。...

建立索引常用的規則

1 表的主鍵 外來鍵必須有索引 2 資料量超過300的表應該有索引 3 經常與其他表進行連線的表,在連線欄位上應該建立索引 4 經常出現在where子句中的字段,特別是大表的字段,應該建立索引 5 索引應該建在選擇性高的字段上 6 索引應該建在小字段上,對於大的文字字段甚至超長字段,不要建索引 7 ...