mysql索引型別及建立方式的總結
1、mysql索引型別包括:普通索引、唯一索引、全文索引、單列索引、多列索引和空間索引。
2、索引的建立有利有弊,建立索引可以提高查詢速度,但過多的建立索引則會佔據許多的磁碟空間。
3、mysql通過三種方式來建立索引,分別為建立表時建立索引、在已經存在的表上建立索引和通過sql
語句alter table建立索引。
4、不同索引型別的不同建立方式總結如下表所示:
mysql索引型別
建立索引的方式及語法
建立表時建立索引
在已經存在的表上建立索引
sql語句
alter table
建立索引
普通索引
create table table_name (
屬性名 資料型別,
…… 屬性名 資料型別,
index | key索引名 (
屬性名 [長度
] [asc|desc] ));
create index索引名
on表名 (
屬性名 [長度
] [asc|desc]);
alter table table_nameadd index | key索引名 (
屬性名 [長度
] [ asc|desc]);
唯一索引
create table table_name (
屬性名 資料型別,
…… 屬性名 資料型別,
unique index | key索引名 (
屬性名 [長度
] [asc|desc] ));
create unique index索引名
on表名 (
屬性名 [長度
] [asc|desc]);
alter table table_nameadd unique index | key索引名 (
屬性名 [長度
] [ asc|desc]);
全文索引
create table table_name (
屬性名 資料型別,
…… 屬性名 資料型別,
fulltext index | key索引名 (
屬性名 [長度
] [asc|desc] ));
create fulltext index索引名on表名 (
屬性名 [長度
] [asc|desc]);
alter table table_nameadd fulltext index | key索引名 (
屬性名 [長度
] [ asc|desc]);
多列索引
create table table_name (
屬性名 資料型別,
…… 屬性名 資料型別,
index | key索引名 (
屬性名1 [
長度] [asc|desc],
…… 屬性名n [
長度] [asc|desc] ));
create index索引名
on表名 (
屬性名1 [
長度] [asc|desc],
…… 屬性名n [
長度] [asc|desc]);
alter table table_nameadd index | key索引名 (
屬性名1 [
長度] [ asc|desc],
…… 屬性名n [
長度] [asc|desc]);
5、查詢索引的方式:show create tabletable_name
6、刪除索引的語法形式:drop indexindex_nameontable_name
mysql建立索引型別及索引建立的原則
索引型別 unique 唯一索引,一般為主鍵 normal 一般索引,普通字段,可做組合索引 索引方法 btree 1 選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。為該字段建立唯一性索引可以很快的確定某個學生的資訊。如果使用姓名...
MySQL索引型別及建立 刪除索引
什麼是索引?個人理解,把資料比作詞典,索引就是詞典前面的拼音目錄,可以幫助我們快速查詢資料。本質是儲存引擎用於快速找到記錄的一種資料結構。儲存引擎首先在索引中找到對應值,然後根據匹配的索引記錄找到對應的資料行。索引的實現依賴於儲存引擎,所以不同的儲存引擎所對應不同的索引型別,例如innodb採用的是...
MySQL 索引型別 索引方式
一 索引型別 1 normal 表示普通索引 2 unique 表示唯一索引,不允許重複的索引 3 full text 表示全文索引,用於在一篇文章中,檢索文字資訊的。二 建立索引的原則 1 選擇唯一性索引 2 為經常需要排序 分組和聯合操作的字段建立索引 3 為常作為查詢條件的字段建立索引 4 限...