黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 12個MySQL索引設計原則

12個MySQL索引設計原則

更新時間:2021-01-15 17:27:42 來源:動力節點 瀏覽1715次

我們在使用MySQL數據庫時,可以根據數據庫的功能,在數據庫設計器中創建不同的索引,但我們選擇索引的最終目的還是為了使查詢的速度變快,提高查詢數據的效率。因此,MySQL索引設計是有一套規則可行的,為了我們能夠更好地設計出高效的索引,下面我們就來為大家講一講常用的12個MySQL索引設計原則

 

1.索引最左匹配原則

索引可以簡單如一個列(a),也可以復雜如多個列(a, b, c, d),即聯合索引。

如果是聯合索引,那么key也由多個列組成,同時,索引只能用于查找key是否存在(相等),遇到范圍查詢(>、<、between、like左匹配)等就不能進一步匹配了,后續退化為線性查找。因此,列的排列順序決定了可命中索引的列數。理解最左匹配原則,對我們設計索引和編寫高效SQL語句非常有幫助

 

例子:

如有索引(a, b, c, d),查詢條件a = 1 and b = 2 and c > 3 and d = 4,則會在每個節點依次命中a、b、c,無法命中d。(很簡單:索引命中只能是相等的情況,不能是范圍匹配)

 

2.為經常需要排序、分組操作的字段建立索引

經常需要ORDER BY、GROUP BY、DISTINCT等操作的字段,排序操作會浪費很多時間。如果為其建立索引,可以有效地避免排序操作。

 

3.為常作為查詢條件的字段建立索引

如果某個字段經常用來做查詢條件,那么該字段的查詢速度會影響整個表的查詢速度。因此,為這樣的字段建立索引,可以提高整個表的查詢速度。

 

4.限制索引的數目

索引的數目不是越多越好。每個索引都需要占用磁盤空間,索引越多,需要的磁盤空間就越大。修改表時,對索引的重構和更新很麻煩。越多的索引,會使更新表變得很浪費時間。

 

5.盡量選擇區分度高的列作為索引

盡量選擇區分度高的列作為索引,區分度的公式是count(distinct col)/count(*),表示字段不重復的比例,比例越大我們掃描的記錄數越少,唯一鍵的區分度是1,而一些狀態、性別字段可能在大數據面前區分度就是0,那可能有人會問,這個比例有什么經驗值嗎?使用場景不同,這個值也很難確定,一般需要join的字段我們都要求是0.1以上,即平均1條掃描10條記錄

 

6.索引列不能參與計算

索引列不能參與計算,保持列“干凈”,比如fromunixtime(createtime) = ’2019-12-02’就不能使用到索引,原因很簡單,b+樹中存的都是數據表中的字段值,但進行檢索時,需要把所有元素都應用函數才能比較,顯然成本太大。所以語句應該寫成createtime = unixtimestamp(’2014-05-29’);即索引列不能帶函數,否則會導致索引失效

 

7.擴展索引

盡量的擴展索引,不要新建索引。比如表中已經有a的索引,現在要加(a,b)的索引,那么只需要修改原來的索引即可

 

8.盡量使用數據量少的索引

如果索引的值很長,那么查詢的速度會受到影響。例如,對一個CHAR(100)類型的字段進行全文檢索需要的時間要比對CHAR(10)類型的字段需要的時間要多。

 

9.盡量使用前綴來索引

如果索引字段的值很長,最好使用值的前綴來索引。例如,TEXT和BLOG類型的字段,進行全文檢索會很浪費時間。如果只檢索字段的前面的若干個字符,這樣可以提高檢索速度。

 

10.刪除不再使用或者很少使用的索引

表中的數據被大量更新,或者數據的使用方式被改變后,原有的一些索引可能不再需要。數據庫管理員應當定期找出這些索引,將它們刪除,從而減少索引對更新操作的影響。

 

11.=和in可以亂序。

比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意順序,mysql的查詢優化器會幫你優化成索引可以識別的形式

 

12.聯合查詢

聯合查詢,子查詢等多表操作時關連字段要加索引

 

,根據以上的介紹,對于常用的12條mysql索引設計原則,相必大家都有了一定的掌握和了解,事實上上述提到的12條原則是最基本的MySQL索引設計原則,但不能拘泥于這些準則,應該根據應用的實際情況進行分析和判斷,選擇最合適的索引方式。當然,如果我們能夠通過在本站的MySQL教程的學習,熟練掌握MySQL數據庫中的各種機制和原理,對于我們設計MySQL索引,更是如虎添翼了。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成人精品免费视频 | 黄网站在线观看永久免费 | 久草视频免费 | 成人免费看黄 | 一级做a爱过程免费视频韩国 | 精品一区二区三区高清免费观看 | 国产区亚洲区 | 免费在线观看黄网站 | 夜夜骑首页| 全黄大全大色全免费大片 | 国产福利小视频在线观看 | 免费精品国产日韩热久久 | 涩涩片影院 | 午夜寂寞影院视频在线观看 | 色片免费 | 亚洲成人毛片 | 又黄又爽视频好爽视频 | 天天在线精品视频在线观看 | 99久久精彩视频 | 中文字幕精品1在线 | 99re最新| 宅男在线永久免费观看99 | 美女伊人| 又黄又爽视频好爽视频 | 色片在线免费观看 | 国产视频欧美 | 毛片a级毛片免费播放100 | 超级黄色毛片 | 就要操就要射 | 26uuu最新地址| 蜜臀91精品国产高清在线观看 | 国产一区二区高清在线 | 青青草国产成人久久91网 | 欧美午夜一艳片欧美精品 | 一区二区不卡在线观看 | 永久福利盒子日韩日韩免费看 | 亚洲第一视频在线播放 | 色综合天天色综合 | 成人短视频在线观看免费 | 亚洲日本中文字幕天堂网 | 在线www 天堂网在线 |