MySQL中索引的分类和基本操作
索引的作用:是用于快速定位實際數(shù)據(jù)位置的一種機制。
索引在mysql中,是獨立于數(shù)據(jù)的一種特殊的數(shù)據(jù)結構。
一、索引的分類
普通索引:利用特定的關鍵字,標識數(shù)據(jù)記錄的位置(磁盤上的位置,盤號,柱面,扇面,磁道)。
唯一索引:限制索引的關鍵字不能重復的索引。
主鍵索引:限制索引的關鍵字不能重復,并且不能為NULL。(不能為NULL的唯一索引)。一個表中只允許有一個主索引。
全文索引:索引的關鍵字,不是某個字段的值,而是字段值中有意義的詞來作為關鍵字建立索引。
復合索引:如果一個索引(以上四種任何都可以),是依賴于多個字段創(chuàng)建的化,稱之為復合索引。
一個myisam表的對應的三個文件:表結構文件.frm、數(shù)據(jù)文件.myd、索引文件.myi
添加一個普通索引后,索引文件會變大
二、索引的創(chuàng)建
第一種方式:在創(chuàng)建表時,一塊創(chuàng)建索引。
第二種方式:建完表后,以alter方式建立索引。
創(chuàng)建索引的注意事項:
(1)較頻繁的作為查詢條件字段應該創(chuàng)建索引
select * from emp where empno = 1(2)唯一性太差的字段不適合單獨創(chuàng)建索引,即使頻繁作為查詢條件。比如:is_best is_new is_hot is_sale is_delete
select * from emp where sex = '男'(3)更新非常頻繁的字段不適合創(chuàng)建索引,比如登錄的狀態(tài)。
select * from emp where logincount = 1(4)不會出現(xiàn)在WHERE子句中字段不該創(chuàng)建索
三、索引的刪除
刪除主鍵索引:alter table tablename drop primary key
在刪除主鍵索引時,要注意是否有auto_increment屬性,如果有,則先要刪除該屬性,才能刪除主鍵索引。
刪除其他索引:alter table tablename drop index 索引的名字
注意:如果沒有指定索引的名字則是使用該字段名稱作為索引的名字的。
四、索引的查看
show indexes from table_name;show index from table_name;show create table table_name;show keys from table_name;desc table_name;轉(zhuǎn)載于:https://www.cnblogs.com/chenjiacheng/p/6522549.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的MySQL中索引的分类和基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [课程设计]Scrum 2.5 多鱼点餐
- 下一篇: Linux下安装MySQL5.6