關於MySQL索引index雜談

2022-09-03 15:18:11 字數 885 閱讀 5962

mysql建索引命令

create index index_name on tablename(clomun_name.....);

比如建了

create index  o_n_p_d  on   t_db_netspeed(o,n,p,d)

建好索引之後,使用select 命令進行查詢

select count(*) from  t_db_netspeed where o=1

這句話也會用到前面建立的索引 o_n_p_d,

首先我們來理解一下索引,多值索引中存放了n個索引值,這n個索引值的排序是按照建立索引的順利來的,如果前面建立的那個索引,就是先根據o值建立索引然後再是n,p,d,如果o/n/p值都一樣,則按照d值來排序。

——「索引對多個值進行排序的一句是crate table 語句中定義索引時列的順序」

所以即便是指查詢o值也會用到索引o_n_p_d,即索引值時根據4個列值來建立的,不是非得具備這4個列值

但是這裡也有個前提 就是順序,即索引不能跳過索引順序,可以看到索引o值時在索引o_n_p_d的第乙個索引列

如果查詢語句為

select count(*) from t_db_netspeed where n=1;

此時就不會用到索引o_n_p_d索引

——「where 配合索引是不分順序的」

如果查詢語句為:

select count(*) from t_db_netspeed where n=1 and o=1 and p=1 and d=1;

此語句也會用到索引o_n_p_d;

mySQL中索引index詳解

索引 mysql 索引 index 注意 1 不要過度索引 2 索引條件列 where後面最頻繁的條件列 3 盡量索引雜湊值,過於集中的值不要索引。索引型別 1 普通索引 index 僅僅是加快查詢速度 2 唯一索引 unique index 行上的值不能重複 3 主鍵索引 primary key ...

MySQL的索引(Index)詳解

索引分類 1 普通索引 key indexes 2 唯一索引 unique indexes 3 主鍵索引 primary key indexes 4 組合索引 composite index 5 字首索引 prefix indexes 6 全文索引 full text indexes 7 雜湊索引 ...

mysql整理12 索引index整理

為了提高查詢排序的速度 索引需要單獨檔案來儲存維護。表資料發生變化需要維護索引表。適合新增索引的情況 表資料量足夠大 增刪改操作較少 高基數列1.可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。2.通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。3.可以加速表和表之間的連線。4....