創(chuàng)建索引:
MySql創(chuàng)建索引的語法如下:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON table_name (index_col_name,...)
其中對應(yīng)的語法變量信息如下:
[UNIQUE|FULLTEXT|SPATIAL]:中括號中的三個關(guān)鍵字表示創(chuàng)建的索引類型,他們分別表示唯一索引、全文索引、空間索引三種不同的索引類型。如果我們不指定任何關(guān)鍵字,則默認為普通索引。
index_name:表示索引的名字,由用戶自行定義,以便以后對該索引進行修改管理操作。
index_type:表示索引的具體實現(xiàn)方式,在MySql中,有兩種不同形式的索引----BTREE索引和HASH索引。在存儲引擎為MYISAM和INNODB的表中只能使用BTREE,其默認值就是BTREE;在存儲引擎為MEMORY或者HEAP的表中可以使用HASH和BTREE兩種類型的索引,其默認值是HASH。
index_col_name:表示需要創(chuàng)建索引的字段名稱,我們還可以針對多個字段創(chuàng)建復合索引,只需要在多個字段名稱之間以英文逗號隔開即可。
此外,對于char或varchar類型的字段,我們還可以只使用字段內(nèi)容前面的一部分來創(chuàng)建索引,只需要在對應(yīng)的字段后面加上形如(length)的指令即可,表示只需要使用字段內(nèi)容前面的length個字符來創(chuàng)建索引。
CREATE INDEX idx_user_username ON user (username(6));
由于多數(shù)字段的前6個字符通常不同,所以此索引不會比使用字段的全部內(nèi)容創(chuàng)建的索引速度慢很多。另外,使用字段的一部分創(chuàng)建索引可以使索引文件大大減小,從而節(jié)省了大量的磁盤空間,有可能提高INSERT操作的速度。
必須注意的是:在MySql中,對已TEXT和BLOG這種大數(shù)據(jù)類型的字段,必須給出前綴長度(length)才能成功創(chuàng)建索引。
上述創(chuàng)建索引的語法還具有以下變體:
ALTER TABLE table_name ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name (index_col_name,...) [USING index_type]
在MySql中,只有當表的存儲引擎為MYISAM,INNODB和BDB類型時,你才能向具有NULL值的列或者數(shù)據(jù)類型為TEXT或BLOB的列添加索引。
刪除索引:
在MySql中刪除索引的方法非常簡單,其完整語法如下:
ALTER TABLE table_name DROP INDEX index_name;
修改索引:
在MySql中并沒有提供修改索引的直接指令,一般情況下,我們先刪除原索引,再根據(jù)需要創(chuàng)建一個同名的索引,從而變相地實現(xiàn)修改索引的操作。
//先刪除索引
ALTER TABLE table_name DROP INDEX index_name;
//創(chuàng)建同名的索引
CREATE INDEX index_name ON table_name (index_col_name,...);
查看索引:
在MySql中,要查看某個數(shù)據(jù)庫表中的索引頁非常簡單,只需要使用以下兩個命令中的任意一種即可:
SHOW INDEX FROM table_name [FROM db_name];
SHOW INDEX FROM [db_name.]table_name;
您可能感興趣的文章:- MySQL中索引與視圖的用法與區(qū)別詳解
- MySQL分區(qū)字段列有必要再單獨建索引嗎?
- 詳解mysql中的冗余和重復索引
- 淺析mysql索引
- MySQL聯(lián)合索引功能與用法實例分析
- MySql索引詳細介紹及正確使用方法
- 解決MySQL中IN子查詢會導致無法使用索引問題
- mysql中索引與FROM_UNIXTIME的問題
- MySQL常用的建表、添加字段、修改字段、添加索引SQL語句寫法總結(jié)
- 圖文詳解MySQL中兩表關(guān)聯(lián)的連接表如何創(chuàng)建索引
- mysql索引使用技巧及注意事項
- 淺談mysql的索引設(shè)計原則以及常見索引的區(qū)別
- mysql為字段添加和刪除唯一性索引(unique) 的方法
- mysql增加和刪除索引的相關(guān)操作
- MySQL創(chuàng)建全文索引分享
- MySQL修改表一次添加多個列(字段)和索引的方法
- 理解MySQL——索引與優(yōu)化總結(jié)
- 詳解mysql權(quán)限和索引