建立索引mysql
索引的建立能夠在create table語句中進行,也能夠在表建立完成後單獨的使用create index或者alter table來給表增長索引。一下語句分別是如何建立主鍵的索引(primary key),聯合索引(unique)和普通索引(index)方法。sql
mysql> alter table 'table_name' add index 'index_name'(column list);數據庫
mysql>alter table 'table_name' add unique 'index_name' (column list);ui
mysql>alter table 'table_name' add primary key 'index_name' (column list);索引
mysql>create index 'index_name' on 'table_name' (column list);it
mysql>create unique index 'index_name' on 'table_name'(column list);table
例如:方法
mysql>alter table 'article' add index 'id'; 給article表增長id索引im
或者數據
mysql>alter table 'article' add index ('id','order_id); 給article表增長id,order_id索引
重建索引
重建索引在常規的數據庫維護中使用。在數據庫運行了較長的時間後,索引都會損壞的可能,因此要重建索引。
mysql>repait table 'table_name' quick;
查詢數據表的索引
mysql>show index from 'table_name';
刪除索引
刪除索引能夠使用alter table 或者 drop index語句來實現
mysql>drop index 'index_name' on 'table_name'(column list);
mysql>alter table 'table_name' drop index 'index_name' (column list);
mysql>alter table 'table_name' drop unique 'index_name' (column list);
mysql>alter table 'table_name' drop primary key 'index_name'(column list);
在前面三條語句中,都刪除了table_name中的索引index_name。而在最後一條語句中,只在primary key索引中使用,由於一個表只有有一個惟一的primary key 索引,所以不可能指定索引名。若是沒有建立primary key索引,但 表具備一個或者多個unique索引,則mysql將刪除第一個unique索引。若是從刪除的某列,索引會受影響。