mysql索引的使用

2021-10-24 20:24:04 字數 582 閱讀 5563

索引可以提高查詢的速度,但是並不是索引越多越好。每個額外的所以都需要占用額外的空間,並且寫操作的效能。修改表的內容時,索引必須進行更新,有時可能需要重構,索引越多,花費時間越長。此外mysql在生成執行計畫時,需要考慮各個索引,也需要花費時間,因此保持所需的索引才有利於查詢優化,那麼什麼時候才是所需的索引呢。

1.最適合索引的列是出現在where子句中的列,或連線子句中的列,可以快速匹配where子句的行。

2.使用唯一索引,索引列的基數越大,索引效果越好。

3.使用短索引,如果對字串索引,應該指定乙個字首長度,比如乙個欄位為varchar(100),如果前10個或者20個字元多數為唯一的,指定索引時,可以使用varchar(20)這樣能夠大量的節省空間的同時,使得查詢變得更快。

4.利用左字首,在建立乙個n列的索引時,實際是建立了mysql的n個索引,多列索引可起幾個索引的作用,因此可使用索引列中最左邊的列集匹配行,這樣的列集成為左字首。如果查詢時有多個索引可選擇,mysql會選擇能查詢出最少行的索引。

5.使用join從其他表檢索行。mysql可以在列上更有效的使用索引,如果他們有相同的型別和大小。varchar和char被當成相同的型別如果他們的長度一樣。

mysql 索引的使用

一 什麼是索引!學乙個技術的時候,首先要知道他是什麼,他的作用是什麼,他能幹什麼 索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以b 樹的形式儲存。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就...

mysql索引的使用

索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,但這不是組合索引。組合索引,即乙個索包含多個列。1 普通索引 這是最基本的索引,它沒有任何限制。它有以下幾種建立方式 建立索引 create index indexname on tablename column ...

mysql索引的使用

最近在學mysql,由於對索引沒怎麼接觸過,故做下筆記已被後面參考.假設我們有個公司表沒有建立索引,公司有個編號,當我們要查詢編號為13的公司 其中表中存在很多記錄關於同乙個公司的 由於公司編號沒有排序的,要查詢該公司資訊必須掃瞄全表.如果我們建立了索引,編號會排好序,當我們查詢13的公司,資料庫快...