MySQL索引的建立對於MySQL的高效運作是很重要的,索引可以大大提高MySQL的檢索速度。
打個比方,如果合理的設計且使用索引的MySQL是一輛蘭博基尼的話,那麼沒有設計和使用索引的MySQL就是一個人力三輪車。
索引分單列索引和組合索引。單列索引,即一個索引只包含單一資料列,一個表格可以有多個單列索引,但這不是組合索引。組合索引,即一個索引包含多個欄位。
建立索引時,你需要確保該索引是應用在 SQL 查詢語句的條件(一般作為 WHERE 子句的條件)。
實際上,索引也是一張表,該表保存了主鍵與索引字段,並指向實體表的記錄。
32核心,30多G 內存,一千萬的條目在時間上建立非聚集索引,用了 7 分鐘。
一億資料量的話估計要大於70分鐘。
聚集索引時間較長。這個需要索引排序,建立分支索引複合B樹。
一般海量資料不如新建立表,建立好索引,然後逐批匯入資料。
差勁點的機器,一億資料建立索引基本上就是當機或是殭屍狀態。
只能慢慢的等了,一天都不行,就上邊那方法。
索引跟型別關係很大,一般定長字段比變長字段簡單,IO消耗小,時間節省,複合索引變長越多就越複雜,其次就是一表多索引,這種情況會衍生各種儲存索引結構,就更花時間了。
表格有多少資料頁,多少文件,每頁多少個插槽都會影響時間。
以上是mysql索引更新多久的詳細內容。更多資訊請關注PHP中文網其他相關文章!