最基本的索引,它沒有任何限制,用於加速查詢。
建立方法:
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就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...