語法:
create table table_name
( 屬性名 資料型別[約束條件],
屬性名 資料型別[約束條件],
......
[unique|fulltext|spatial] index }key[別名](屬性名[asc|desc])
);
建立普通索引
#普通索引
create table score
( id int auto_increment primary key not null,
name varchar(30) not null,
math int not null,
english int not null,
chinese int not null,
index(id)
);show create table score;
建立唯一索引
#唯一索引
create table t_address
( id int auto_increment primary key not null,
name varchar(30),
address varchar(200),
unique index uq_address(id asc)
);show create table t_address
建立全文索引
#全文索引
create table cards
(id int auto_increment primary key not null,
name varchar(30),
number int,
info varchar(50),
fulltext key ftk_number(number)
)engine=myisam default charset=utf8;
mysql自帶的全文索引只能用於資料庫引擎為myisam的資料表,如果是其他資料引擎,則全文索引不會生效。此外,mysql自帶的全文索引只能對英文進行全文檢索,目前無法對中文進行全文檢索。如果需要對包含中文在內的文字資料進行全文檢索,我們需要採用sphinx(斯芬克斯)/coreseek技術來處理中文。
目前,使用mysql自帶的全文索引時,如果查詢字串的長度過短將無法得到期望的搜尋結果。mysql全文索引所能找到的詞預設最小長度為4個字元。另外,如果查詢的字串包含停止詞,那麼該停止詞將會被忽略。
如果可能,請盡量先建立表並插入所有資料後再建立全文索引,而不要在建立表時就直接建立全文索引,因為前者比後者的全文索引效率要高。
建立單列索引
#單列索引
create table telephone
( id int auto_increment primary key not null,
name varchar(30),
tel varchar(30),
index idx_tel(tel(20))
);
建立多列索引
#多列索引
create table information
( id int primary key auto_increment not null,
name varchar(30) not null,
*** varchar(30) not null,
birthday varchar(30) not null,
index idx_name_***(name,***)
);
建立空間索引
#空間索引
create table list
( id int primary key auto_increment not null,
goods geometry not null,
spatial index spt(goods)
)engine=myisam;
語法:
create [unique|fulltext|spatial] index index_name
on table_name(屬性[(length)][asc|desc]);
#在已有的表上建立索引
create index idx_id on t1(id)
語法:
alter table table_name add[unique|fulltext|spatial] index index_name(屬性名[(length)][asc|desc]);
#新增索引
alter table t1
add unique index idx_name(name(10))
語法:
drop index index_name on table_name
#刪除索引
drop index idx_name on t1
mysql中索引的使用
索引是加速查詢的主要手段,特別對於涉及多個表的查詢更是如此。本節中,將介紹索引的作用 特點,以及建立和刪除索引的語法。索引是快速定位資料的技術,首先通過乙個示例來了解其含義及作用,詳細的介紹請參考第14章。1 索引示例 假設對於10.3節所建的表,各個表上都沒有索引,資料的排列也沒有規律,如表13....
mysql中索引的使用
我們在使用sql時,在遇到sql效能下降 執行時間長時,就需要考慮用索引來幫我們解決問題。如,資料過多,關聯太多的表等。建立索引 create index idx name age address on student name,age,address create table student id...
mysql欄位簡索引 MySQL中索引使用簡例
一張表最多不超過4個索引 某個欄位的值離散度越高,該字段越適合做索引的關鍵字。占用儲存空間少的字段更適合選做索引的關鍵字。較頻繁的作為where查詢條件的字段應該建立索引,分組字段或者排序字段應該建立索引,兩個表的連線字段應該建立索引。更新頻繁的字段不適合做索引,不會出現在where中的字段不應該建...