日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

mysql索引可以分为几种?

發(fā)布時間:2023/12/24 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 mysql索引可以分为几种? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL索引的建立對于MySQL的高效運行是很重要的,索引可以大大提高MySQL的檢索速度。

打個比方,如果合理的設(shè)計且使用索引的MySQL是一輛蘭博基尼的話,那么沒有設(shè)計和使用索引的MySQL就是一個人力三輪車。

拿漢語字典的目錄頁(索引)打比方,我們可以按拼音、筆畫、偏旁部首等排序的目錄(索引)快速查找到需要的字。

索引分單列索引和組合索引。單列索引,即一個索引只包含單個列,一個表可以有多個單列索引,但這不是組合索引。組合索引,即一個索引包含多個列。

創(chuàng)建索引時,你需要確保該索引是應(yīng)用在 SQL 查詢語句的條件(一般作為 WHERE 子句的條件)。

實際上,索引也是一張表,該表保存了主鍵與索引字段,并指向?qū)嶓w表的記錄。

上面都在說使用索引的好處,但過多的使用索引將會造成濫用。因此索引也會有它的缺點:雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行INSERT、UPDATE和DELETE。因為更新表時,MySQL不僅要保存數(shù)據(jù),還要保存一下索引文件。

建立索引會占用磁盤空間的索引文件。

mysql索引的分類

MySQL索引分為普通索引、唯一索引、主鍵索引、組合索引、全文索引。索引不會包含有null值的列,索引項可以為null(唯一索引、組合索引等),但是只要列中有null值就不會被包含在索引中。

(1)普通索引:create index index_name on table(column);

或者創(chuàng)建表時指定,create table(..., index index_name column);

(2)唯一索引:類似普通索引,索引列的值必須唯一(可以為空,這點和主鍵索引不同)

create unique index index_name on table(column);或者創(chuàng)建表時指定unique index_name?column

(3)主鍵索引:特殊的唯一索引,不允許為空,只能有一個,一般是在建表時指定primary key(column)

(4)組合索引:在多個字段上創(chuàng)建索引,遵循最左前綴原則。alter table t add index index_name(a,b,c);

(5)全文索引:主要用來查找文本中的關(guān)鍵字,不是直接與索引中的值相比較,像是一個搜索引擎,配合match against使用,現(xiàn)在只有char,varchar,text上可以創(chuàng)建全文索引。在數(shù)據(jù)量較大時,先將數(shù)據(jù)放在一張沒有全文索引的表里,然后再利用create index創(chuàng)建全文索引,比先生成全文索引再插入數(shù)據(jù)快很多。

更多相關(guān)知識,請訪問 PHP中文網(wǎng)!!

總結(jié)

以上是生活随笔為你收集整理的mysql索引可以分为几种?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。