mysql資料庫的索引型別

2021-10-03 19:24:44 字數 2208 閱讀 6357

最基本的索引,它沒有任何限制,用於加速查詢。

建立方法:

a. 建表的時候一起建立

create table mytable (name varchar(32) ,index index_mytable_name (name));

b. 建表後,直接建立索引

create index index_mytable_name on mytable(name);

c. 修改表結構

alter table mytable add index index_mytable_name (name);

注:如果是字串字段,還可以指定索引的長度,在列命令後面加上索引長度就可以了(例如:name(11))

索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。

建立方法:

a. 建表的時候一起建立

create table mytable (`name` varchar(32) ,unique index_unique_mytable_name (`name`));

b. 建表後,直接建立索引

create unique index index_mytable_name on mytable(name);

c. 修改表結構

alter table mytable add unique index index_mytable_name (name);

注:如果是字串字段,還可以指定索引的長度,在列命令後面加上索引長度就可以了(例如:name(11))

是一種特殊的唯一索引,乙個表只能有乙個主鍵,不允許有空值。一般是在建表的時候同時建立主鍵索引。

建立方法:

a. 建表的時候一起建立

create table mytable (`id` int(11) not null auto_increment ,`name` varchar(32) ,primary key (`id`));

b. 修改表結構

alter table test.t1 add constraint t1_pk primary key (id);

注:如果是字串字段,還可以指定索引的長度,在列命令後面加上索引長度就可以了(例如:name(11))

指多個欄位上建立的索引,只有在查詢條件中使用了建立索引時的第乙個字段,索引才會被使用。使用組合索引時遵循最左字首集合。

建立方法:

a. 建表的時候一起建立

create table mytable (`id` int(11) ,`name` varchar(32) ,index index_mytable_id_name (`id`,`name`));

b. 建表後,直接建立索引

create index index_mytable_id_name on mytable(id,name);

c. 修改表結構

alter table mytable add index index_mytable_id_name (id,name);

主要用來查詢文字中的關鍵字,而不是直接與索引中的值相比較。

fulltext索引跟其它索引大不相同,它更像是乙個搜尋引擎,而不是簡單的where語句的引數匹配。

fulltext索引配合match against操作使用,而不是一般的where語句加like。

它可以在create table,alter table ,create index使用,不過目前只有char、varchar,text 列上可以建立全文索引。

建立方法:

a. 建表的時候一起建立

create table `article` (`id` int(11) not null auto_increment ,`title` char(250) not null ,`contents` text null ,`create_at` int(10) null default null ,primary key (`id`),fulltext (contents));

b. 建表後,直接建立索引

create fulltext index index_article_contents on article(contents);

c. 修改表結構

alter table article add fulltext index index_article_contents (contents);

總結雖然索引可以增加查詢資料,但對於更新、建立或者刪除的時候,需要去維護索引,導致效能會受影響,因此,索引也不能建立太多。

mysql 索引型別 mysql資料庫的索引型別

mysql索引型別 1 普通索引 最基本的索引,它沒有任何限制,用於加速查詢。建立方法 建表的時候一起建立 create table mytable name varchar 32 index index mytable name name b.建表後,直接建立索引 create index ind...

mysql資料庫的索引型別

1 普通索引 最基本的索引,它沒有任何限制,用於加速查詢。建立方法 建表的時候一起建立 create table mytable name varchar 32 index index mytable name name b.建表後,直接建立索引 create index index mytable...

資料庫mysql索引 資料庫 mysql索引

mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...