《mysql基礎》5 索引2

2021-10-06 17:16:06 字數 1026 閱讀 9662

上一節索引部分簡單總結了一下索引的資料結構,這一節總結一下索引的使用.

上一節我們講到二級索引儲存的資料是主鍵,然後通過主鍵查詢資料資訊,這樣的操作簡稱回表。

例子

create table t(

id int primary key,

k int not null default 0,

s varchar(20) not null default '',

index k(k)

engine = innodb

)

當我們查詢語句 select id from t where k >3;

這個時候我們知道二級索引儲存的資料是主鍵索引,即id在我們第一次查詢的時候就能獲取,這種情況不必再回表操作,這種情況叫:

1:覆蓋索引-一次查詢就能返回查詢結果,不必回表操作。

2:最左字首原則-在聯合索引的情況下,查詢的條件要命中索引的左側才能用到索引,否則不會使用索引

例子:

create table t (

id int primary key,

name varchar(20) not null,

age int not null default 0,

address varchar(50),

key name_age(name,age)

)engine = innodb

select * from t where  name = 'zhangsan' or select * from t where name like 'li%';都會命中name_age這個索引,

當然 select * from t where name = 'wanger' and age = 16 的時候,也會命中索引。

3:索引下探-跟覆蓋索引的意思差不多,在查詢上面的例子時,

select age from t where name = 'lisi' 的時候,因為我們索引中就儲存了name和age資訊,所以不用回表就能查詢到我們想要的資訊,這個就是索引下探。

mysql索引基礎 Mysql 索引基礎

什麼是索引?為什麼要建立索引?索引,其實就是目錄。索引,用於快速找出在某個列中有某個特定值的行。不使用索引,mysql必須從第一條記錄開始查詢整張表,直到找出相關的行,那麼表越大,查詢資料所花費的時間就越多。假如表中查詢的列有乙個索引 目錄 mysql能夠快速定位到達乙個位置去搜尋資料檔案,而不必查...

mysql基礎操作學習筆記(2) 索引

為什麼要建立索引?在此本人也帶著相同的疑問,能夠解釋的僅僅是 為了減少資料庫查詢時所需要的速度。如果正常查詢和索引查詢所需時間相差很多倍時我們自然是需要索引的了。想要知道結果,只能等我學得更加深入一點咯。建立索引 建立索引有三種方法 1 在建立表時建立索引 2 使用alter table 語句建立索...

mysql索引基礎

1.建立索引 alter table table name add index index name column list alter table table name add unique index name column list alter table table name add pri...