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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 索引都有哪些,mysql索引类型有哪些

發(fā)布時間:2024/3/26 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 索引都有哪些,mysql索引类型有哪些 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

摘要 騰興網(wǎng)為您分享:mysql索引類型有哪些,易信,微商助手,刷機(jī)精靈,數(shù)字涂色等軟件知識,以及家校即時通,內(nèi)部通訊錄,叫叫識字大冒險,天天酷跑,手機(jī)電視高清直播,短信驗(yàn)證軟件,誅仙表情包,一手女裝,iis7,instagram視頻,搭建卡盟主站,umbrella,qq音樂qmc0格式,圖片降噪,鋼筋銹蝕檢測儀等軟件it資訊,歡迎關(guān)注騰興網(wǎng)。介紹各種類型的mysql索引。 1、普通索引 普通索引(由關(guān)鍵字key或index定義的索引)的唯一任務(wù)是加快對數(shù)據(jù)的訪問速度。因此,應(yīng)該只為那些最經(jīng)常出現(xiàn)在查詢條件(wherecolumn=)或排序...

介紹各種類型的mysql索引。

1、普通索引

普通索引(由關(guān)鍵字key或index定義的索引)的唯一任務(wù)是加快對數(shù)據(jù)的訪問速度。因此,應(yīng)該只為那些最經(jīng)常出現(xiàn)在查詢條件(wherecolumn=)或排序條件(orderbycolumn)中的數(shù)據(jù)列創(chuàng)建索引。只要有可能,就應(yīng)該選擇一個數(shù)據(jù)最整齊、最緊湊的數(shù)據(jù)列(如一個整數(shù)類型的數(shù)據(jù)列)來創(chuàng)建索引。

2、唯一索引

普通索引允許被mysql索引的數(shù)據(jù)列包含重復(fù)的值。比如說,因?yàn)槿擞锌赡芡?#xff0c;所以同一個姓名在同一個“員工個人資料”數(shù)據(jù)表里可能出現(xiàn)兩次或更多次。

如果能確定某個數(shù)據(jù)列將只包含彼此各不相同的值,在為這個數(shù)據(jù)列創(chuàng)建索引的時候就應(yīng)該用關(guān)鍵字unique把它定義為一個唯一索引。這么做的好處:一是簡化了mysql對這個索引的管理工作,這個索引也因此而變得更有效率;二是mysql會在有新記錄插入數(shù)據(jù)表時,自動檢查新記錄的這個字段的值是否已經(jīng)在某個記錄的這個字段里出現(xiàn)過了;如果是,mysql將拒絕插入那條新記錄。也就是說,唯一索引可以保證數(shù)據(jù)記錄的唯一性。事實(shí)上,在許多場合,人們創(chuàng)建唯一索引的目的往往不是為了提高訪問速度,而只是為了避免數(shù)據(jù)出現(xiàn)重復(fù)。

3、主索引

在前面已經(jīng)反復(fù)多次強(qiáng)調(diào)過:必須為主鍵字段創(chuàng)建一個索引,這個mysql索引就是所謂的“主索引”。主索引與唯一索引的唯一區(qū)別是:前者在定義時使用的關(guān)鍵字是primary而不是unique。

4、外鍵索引

如果為某個外鍵字段定義了一個外鍵約束條件,mysql就會定義一個內(nèi)部索引來幫助自己以最有效率的方式去管理和使用外鍵約束條件。

5、復(fù)合索引

mysql索引可以覆蓋多個數(shù)據(jù)列,如像index(columna,columnb)索引。這種索引的特點(diǎn)是mysql可以有選擇地使用一個這樣的索引。如果查詢操作只需要用到columna數(shù)據(jù)列上的一個索引,就可以使用復(fù)合索引index(columna,columnb)。不過,這種用法僅適用于在復(fù)合索引中排列在前的數(shù)據(jù)列組合。比如說,index(a,b,c)可以當(dāng)做a或(a,b)的索引來使用,但不能當(dāng)做b、c或(b,c)的索引來使用。

6、索引的長度

在為char和varchar類型的數(shù)據(jù)列定義mysql索引時,可以把mysql索引的長度限制為一個給定的字符個數(shù)(這個數(shù)字必須小于這個字段所允許的最大字符個數(shù))。這么做的好處是可以生成一個尺寸比較小、檢索速度卻比較快的索引文件。在絕大多數(shù)應(yīng)用里,數(shù)據(jù)庫中的字符串?dāng)?shù)據(jù)大都以各種各樣的名字為主,把索引的長度設(shè)置為10~15個字符已經(jīng)足以把搜索范圍縮小到很少的幾條數(shù)據(jù)記錄了。在為blob和text類型的數(shù)據(jù)列創(chuàng)建索引時,必須對索引的長度做出限制;mysql所允許的最大索引全文索引文本字段上的普通索引只能加快對出現(xiàn)在字段內(nèi)容最前面的字符串(也就是字段內(nèi)容開頭的字符)進(jìn)行檢索操作。如果字段里存放的是由幾個、甚至是多個單詞構(gòu)成的較大段文字,普通索引就沒什么作用了。這種檢索往往以的形式出現(xiàn),這對mysql來說很復(fù)雜,如果需要處理的數(shù)據(jù)量很大,響應(yīng)時間就會很長。

這類場合正是全文索引(full-textindex)可以大顯身手的地方。在生成這種類型的索引時,mysql將把在文本中出現(xiàn)的所有單詞創(chuàng)建為一份清單,查詢操作將根據(jù)這份清單去檢索有關(guān)的數(shù)據(jù)記錄。全文索引即可以隨數(shù)據(jù)表一同創(chuàng)建,也可以等日后有必要時再使用下面這條命令添加:

altertabletablenameaddfulltext(column1,column2)有了全文索引,就可以用select查詢命令去檢索那些包含著一個或多個給定單詞的數(shù)據(jù)記錄了。下面是這類查詢命令的基本語法:

select*fromtablename

wherematch(column1,column2)against(‘word1','word2','word3’)

上面這條命令將把column1和column2字段里有word1、word2和word3的數(shù)據(jù)記錄全部查詢出來。

注解:innodb數(shù)據(jù)表不支持全文索引。

mysql索引類型區(qū)別分析

mysql索引的類型與優(yōu)缺點(diǎn)

mysql索引優(yōu)化注意問題

mysql索引優(yōu)化實(shí)例解析

mysql索引優(yōu)化應(yīng)用實(shí)例

Mysql索引分類與優(yōu)化

MySql索引優(yōu)化注意要點(diǎn)

Mysql索引優(yōu)化方法解析

深入理解MySQL索引與優(yōu)化

相關(guān)推薦

總結(jié)

以上是生活随笔為你收集整理的mysql 索引都有哪些,mysql索引类型有哪些的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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