索引是建立在表上的,是對資料庫表中一列或者多列的值進行排序的一種結構。索引可以提高查詢速度
索引有兩種儲存型別:b型樹(btree)索引 和 雜湊(hsah)索引;
1)普通索引
2)唯一性索引
設定唯一索引時,限制該索引的值必須是唯一的**
3)全文索引
全文索引只能在 char varchar或者text型別的字段上建立。
4)單列索引
單列索引只根據該欄位進行索引。可以是普通索引唯一性索引還可以是全文索引。
5)多列索引
多個欄位上建立的索引
6)空間索引
只能建立在空間上的索引 目前只有myisam儲存引擎支援空間索引。
index
1.建立表時建立索引
create table 表名(屬性名 資料型別[完整性約束條件],
屬性名 資料型別[完整性約束條件]
...[unique | fulltext|spatial ] index|key
[別名] (屬性名1 [長度]) [asc| desc])
);
unique(唯一索引) fulltext(全文索引) spatial(空間) 都是可選引數。
別名是可選引數的 給索引建立的新名稱,屬性名1是指定索引對應欄位的名稱,長度僅限於字串長度。
asc :公升序排序 desc 降序排序
1)建立普通索引
create table index(id int,
name varchar(20),
idex (id)
);
2)建立唯一性索引
create table index1( id int unique,
name varchar(20),
unique index index1_t(id asc)
);
3)建立全文索引
只能在varchar ,char ,text 上建立,q且儲存引擎為myisam
create table index2(id int,
name varchar(20),
fulltext index index2_t(name)
)engine =myisam;
4)建立單列索引
create table index3(id int ,
name carchar(20),
index idex3_t(name(20)
);
5)建立多列索引
create table index3(id int,
name varchar(20),
index index3_t(id,name)
);
6)建立空間索引
create table index4(id int ,
text1 geometry not null,
spatial index index4_t(text1)
);engine=myisam;
2. 在已經存在的表上建立索引create [unique | fulltext |spatial] index 索引名
on 表名 (屬性名 [(長度)]) [asc |desc]);
alter table 語句建立索引alter table 表名 add [unique | fulltext |spatial ] idnex
索引名 (屬性名[(長度)])[asc | desc ]);
(索引)建立MySQL索引
建立索引的必要性 主鍵預設是建立索引的,而且具有唯一性 合適地建立索引後比不建立索引,提高了查詢速度 建立索引的語法 簡單索引 可以有重複資料 create index indexname on tablename column name 1舉例子說明如 建立乙個資料表,設定一些初始的資料,然後採用...
c mysql建立索引 MySQL 建立索引
1 索引建立原則 1 搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where子句中的列,或連線子句中指定的列,而不是出現在select關鍵字後的選擇列表中的列。2 使用唯一索引。考慮某列中值的分布。索引的列的基數越大,索引的效果越好。3 使用短索引。如果對字串列進行索引,應該...
mysql 索引的建立
建立索引語法 create unique fulltext spatial index index name using index type on table name index col nam,index col name col name length asc desc mysql的索引型別...