mysql索引的使用

2021-08-29 22:52:24 字數 1252 閱讀 9011

索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,但這不是組合索引。組合索引,即乙個索包含多個列。

(1)普通索引

這是最基本的索引,它沒有任何限制。它有以下幾種建立方式:

建立索引

create index indexname on tablename(column_name);

如果是 char,varchar型別,length可以小於字段實際長度;如果是blob和text型別,必須指定 length,下同。

唯一索引

create unique index indexname on tablename(userid);

create unique index userindex on users(userid);

alter table users drop index userindex;

修改索引名

alter table tablename add index newindexname(column_name);

alter table tablename add index (column_name);

建立表的時候直接指定

create table tablename(

id int not null,

username varchar(16) not null,

index indexname(username)

);刪除索引的語法:

drop index indexname on tablename;

顯示表的索引

show index from tablename;

create index index_mailno on waybill(mailno);//新建索引

drop index index_mailno on waybill;//刪除索引

create index index_mailno on mailno(mailno);//新建索引

drop index index_mailno on mailno;//刪除索引

show index from waybill;//檢視表waybill的索引

select * from waybill as w,mailno as m where w.mailno=m.mailno;//聯合查詢兩張表中mailno相同的資料(mailno表中2萬條記錄,waybill中1700條記錄,如果不適用索引,則查詢需要20秒,對mailno使用索引後,查詢速度為0.093秒)

mysql 索引的使用

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

mysql索引的使用

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

mysql的索引使用

表中索引欄位的修改會導致索引列表的修改,這個會帶來一定的效率損耗,一張表不能建立過多索引。復合索引和單索引速度都很快,但是使用索引一定要根據where後面的條件一致。包括欄位和順序。百萬級別的資料建索引在30秒到1分鐘之間,刪除索引在1秒到幾秒之間。任何函式操作本身就要花費0.033秒左右的時間。m...