MySQL索引的建立

2021-10-05 09:07:59 字數 2120 閱讀 1949

索引是建立在表上的,是對資料庫表中一列或者多列的值進行排序的一種結構。索引可以提高查詢速度

索引有兩種儲存型別: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的索引型別...