1.普通索引
2.修改表結構(新增索引)create index indexname on mytable(username(length));
如果是char,varchar型別,length可以小於字段實際長度;如果是blob和text型別,必須指定 length。
alter table tablename add index indexname(columnname)
3.建立表的時候直接指定
4.刪除索引的語法create table mytable(
id int not null,
username varchar(20) not null,
index [indexname] (username(length))
);
drop index [indexname] on mytable;
5.唯一索引
它與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種建立方式:
6.聯合索引create unique index indexname on mytable(username(length))
修改表結構
alter table mytable add unique [indexname] (username(length))
建立表的時候直接指定
create table mytable(
id int not null,
username varchar(16) not null,
unique [indexname] (username(length))
);
create index 索引名 on 表名(欄位名a,欄位名b)
最左原則:a可以,a,b可以,b不可以,a,b,c也可以
show keys from table;
show index from table;
7.分析是否使用索引
explain sql;
mysql 索引定義 MySQL 索引詳解
普通索引 唯一索引和主索引 1.普通索引 普通索引 由關鍵字key或index定義的索引 的唯一任務是加快對資料的訪問速度。因此,應該只為那些最經常出現在查詢條件 where column 或排序條件 order by column 中的資料列建立索引。只要有可能,就應該選擇乙個資料最整齊 最緊湊的...
MySQL索引的多種型別
在資料之外,資料庫系統還維護著滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法。這種資料結構,就是索引。下圖就是一種可能的索引方式示例 左邊是資料表,一共有兩列七條記錄,最左邊的是資料記錄的實體地址 為了加快col2的查詢,可以維護乙...
mysql索引的概念 MySQL索引的定義
請注意,本文件基於mysql5.7 innodb引擎,也許會對以下的版本同樣生效,但不構成指導意見。關於mysql的索引,網上已經有太多的文章來解釋,這裡咱們不提那些老生常談的定義,嘗試從特殊一點的角度來直觀的理解索引。索引是幫助mysql高效獲取資料的排好序的資料結構,節點中的索引從左到右做遞增排...