黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

設計Mysql索引的原則

系統 2532 0

? ? ? ? 1. 搜索的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出如今WHERE 子句中的列,或連接子句中指定的列,而不是出如今SELECT keyword后的選擇列表中的列。

? ? ? ? 2. 使用惟一索引。考慮某列中值的分布。對于惟一值的列,索引的效果最好,而具有多個反復值的列,其索引效果最差。比如,存放年齡的列具有不同值,非常easy區分各行。而用來記錄性別的列,僅僅含有“ M”和“F”,則對此列進行索引沒有多大用處(無論搜索哪個值,都會得出大約一半的行)

? ? ? ? 3. 使用短索引。假設對串列進行索引,應該指定一個前綴長度,僅僅要有可能就應該這樣做。比如,假設有一個CHAR(200) 列,假設在前10 個或20 個字符內,多數值是惟一的,那么就不要對整個列進行索引。對前10 個或20 個字符進行索引可以節省大量索引空間,也可能會使查詢更快。較小的索引涉及的磁盤I/O 較少,較短的值比較起來更快。更為重要的是,對于較短的鍵值,索引快速緩存中的塊能容納很多其它的鍵值,因此,MySQL也可以在內存中容納很多其它的值。這添加了找到行而不用讀取索引中較多塊的可能性。(當然,應該利用一些常識。如僅用列值的第一個字符進行索引是不可能有多大優點的,由于這個索引中不會有很多不同的值。)

? ? ? ? 4. 利用最左前綴。在創建一個n 列的索引時,實際是創建了MySQL 可利用的n 個索引。多列索引可起幾個索引的作用,由于可利用索引中最左邊的列集來匹配行。這種列集稱為最左前綴。(這與索引一個列的前綴不同,索引一個列的前綴是利用該的前n 個字符作為索引值。)

? ? ? ? 5. 不要過度索引。不要以為索引“越多越好”,什么東西都用索引是錯的。每一個額外的索引都要占用額外的磁盤空間,并減少寫操作的性能,這一點我們前面已經介紹過。在改動表的內容時,索引必須進行更新,有時可能須要重構,因此,索引越多,所花的時間越長。假設有一個索引非常少利用或從不使用,那么會不必要地減緩表的改動速度。此外,MySQL 在生成一個運行計劃時,要考慮各個索引,這也要費時間。創建多余的索引給查詢優化帶來了很多其它的工作。索引太多,也可能會使MySQL 選擇不到所要使用的最好索引。僅僅保持所需的索引有利于查詢優化。假設想給已索引的表添加索引,應該考慮所要添加的索引是否是現有多列索引的最左索引。假設是,則就不要費力去添加這個索引了,由于已經有了。

? ? ? ? 6. 考慮在列上進行的比較類型。索引可用于“ <”、“ < = ”、“ = ”、“ > =”、“ >”和BETWEEN 運算。在模式具有一個直接量前綴時,索引也用于LIKE 運算。假設僅僅將某個列用于其它類型的運算時(如STRCMP( )),對其進行索引沒有價值。

設計Mysql索引的原則


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論