[size=large][b]1、建立索引[/b][/size]
索引的建立可以在create table語句中進行,也可以單獨用create index或alter table來給表增加索引。以下命令語句分別展示了如何建立主鍵索引(primary key),聯合索引(unique)和普通索引(index)的方法。
mysql>alter table `table_name` add index `index_name` (column list);
mysql>alter table `table_name` add unique `index_name` (column list);
mysql>alter table `table_name` add primary key `index_name` (column list);
mysql>create index `index_name` on `table_name` (column_list);
mysql>create unique index `index_name` on `table_name` (column_list);
mysql>alter table `article` add index (`id`,`order_id`);給article表增加id索引,order_id索引
mysql>alter table `article` add index `id`;//給article表增加id索引
[size=large][b]2、重建索引[/b][/size]
重建索引在常規的資料庫維護操作中經常使用。[color=blue]在資料庫執行了較長時間後,索引都有損壞的可能,這時就需要重建。[/color][color=red]對資料重建索引可以起到提高檢索效率。[/color]
mysql> repair table `table_name` quick;
[size=large][b]3、查詢資料表索引[/b][/size]
mysql> show index from `table_name`;
[size=large][b]4、刪除索引[/b][/size]
刪除索引可以使用alter table或drop index語句來實現。drop index可以在alter table內部作為一條語句處理,其格式如下:
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);
[color=red]在前面的三條語句中,都刪除了table_name中的索引index_name。[/color]而在最後一條語句中,只在刪除primary key索引中使用,因為乙個表只可能有乙個primary key索引,因此也可不指定索引名。如果沒有建立primary key索引,但表具有乙個或多個unique索引,則mysql將刪除第乙個unique索引。如果從表中刪除某列,則索引會受影響。對於多列組合的索引,如果刪除其中的某列,則該列也會從索引中刪除。如果刪除組成索引的所有列,則整個索引將被刪除。
[size=large][b]5、強制使用索引[/b][/size]
mysql>select * from table1 force index (索引名或primary) ;
[size=large][b]6、聯合索引[/b][/size]
mysql>alter table test add key id_a_b(a,b) ;
[color=red]對於聯合索引當條件為 a=1 and b=1 則使用索引 ,當a=1 時也使用索引 當單獨使用b=1時則不使用索引。[/color]
mysql 制定索引 mysql索引操作
mysql索引操作 索引初識 什麼是索引 索引相當於mysql的一種鍵,是儲存引擎能快速找到資料的一種資料結構,具有非常好的效能,尤其當表中資料很多時,索引就顯得尤為重要,索引優化是資料查詢效能優化的最有效的手段,它能將資料查詢速度提公升幾個數量級 既然索引如此優秀,是不是索引越多越好?答案當然是否...
mysql索引操作
1 作用分析 在索引列上,除了上面提到的有序查詢之外,資料庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當資料量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬倍。例如,有3個未索引的表t1 t2 t3,分別只包含列c1 c2 c3,每個表分別含有1000行資料組成,指為1...
MySQL 索引操作
前面說過。從型別上,索引可以分為單列索引 普通索引,唯一索引,主鍵索引 組合索引 全文索引 空間索引。從操作上,索引可以分為建立索引 建立表時建立索引,基於現有表建立索引 查詢索引 刪除索引。下面將以普通索引為例,對索引操作進行詳細學習。1.建立表時建立索引 格式 create table 表名 欄...