mysql資料庫中索引查看建立刪除的sql語句

來源:互聯網
上載者:User

本文介紹如何用sql語句建立、查看、刪除mysql表索引。

1.查看哪些表增加了索引sql語句

 代碼如下 複製代碼

mysql> show index from tblname;
mysql> show keys from tblname;

比如執行“show index from v9_danji”這條sql語句,查看v9_danji這張表建立了哪些索引,會出來如下結果,可以看到索引的名稱和索引的類型等。


查看錶索引sql

2.給表某個欄位添加索引sql語句


 

 代碼如下 複製代碼
ALTER TABLE table_name ADD INDEX index_name (column_list)
ALTER TABLE table_name ADD UNIQUE (column_list)
ALTER TABLE table_name ADD PRIMARY KEY (column_list)

這分別是用ALTER TABLE建立普通索引、UNIQUE索引或PRIMARY KEY索引。

也可以用如下sql語句:

CREATE INDEX可對錶增加普通索引或UNIQUE索引。


 

 代碼如下 複製代碼
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)

3.刪除表索引


 

 代碼如下 複製代碼
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY

mysql資料庫建立索引的好處和代價

說起提高資料庫效能,索引是最物美價廉的東西了。不用加記憶體,不用改程式,不用調sql,只要執行個正確的’create index’,查詢速度就可能提高百倍千倍,這可真有誘惑力。可是天下沒有免費的午餐,查詢速度的提高是以插入、更新、刪除的速度為代價的,這些寫操作,增加了大量的I/O。由於索引的儲存結構不同於表的儲存,一個表的索引所佔空間比資料所佔空間還大的情況經常發生。

這意味著我們在寫資料庫的時候做了很多額外的工作,而這個工作只是為了提高讀的效率。因此,我們建立一個索引,必須保證這個索引不會“虧本”。

一般需要遵守這樣的規則:

索引的欄位必須是經常作為查詢條件的欄位;

如果索引多個欄位,第一個欄位要是經常作為查詢條件的。如果只有第二個欄位作為查詢條件,這個索引不會起到作用;

索引的欄位必須有足夠的區分度;

Mysql 對於長欄位支援首碼索引;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.