什么情況下需要?jiǎng)?chuàng)建MySQL索引?
來源:易賢網(wǎng) 閱讀:898 次 日期:2014-11-28 16:53:40
溫馨提示:易賢網(wǎng)小編為您整理了“什么情況下需要?jiǎng)?chuàng)建MySQL索引?”,方便廣大網(wǎng)友查閱!

索引可以提高數(shù)據(jù)的檢索效率,也可以降低數(shù)據(jù)庫的IO成本,并且索引還可以降低數(shù)據(jù)庫的排序成本。排序分組操作主要消耗的就是CPU資源和內(nèi)存,所以能夠在排序分組操作中好好的利用索引將會(huì)極大地降低CPU資源的消耗。

如何判定是否需要?jiǎng)?chuàng)建索引?

1、較頻繁地作為查詢條件的字段

這個(gè)都知道。什么是教頻繁呢?分析你執(zhí)行的所有SQL語句。最好將他們一個(gè)個(gè)都列出來。然后分析,發(fā)現(xiàn)其中有些字段在大部分的SQL語句查詢時(shí)候都會(huì)用到,那么就果斷為他建立索引。

2、唯一性太差的字段不適合建立索引

什么是唯一性太差的字段。如狀態(tài)字段、類型字段。那些只存儲(chǔ)固定幾個(gè)值的字段,例如用戶登錄狀態(tài)、消息的status等。這個(gè)涉及到了索引掃描的特性。例如:通過索引查找鍵值為A和B的某些數(shù)據(jù),通過A找到某條相符合的數(shù)據(jù),這條數(shù)據(jù)在X頁上面,然后繼續(xù)掃描,又發(fā)現(xiàn)符合A的數(shù)據(jù)出現(xiàn)在了Y頁上面,那么存儲(chǔ)引擎就會(huì)丟棄X頁面的數(shù)據(jù),然后存儲(chǔ)Y頁面上的數(shù)據(jù),一直到查找完所有對(duì)應(yīng)A的數(shù)據(jù),然后查找B字段,發(fā)現(xiàn)X頁面上面又有對(duì)應(yīng)B字段的數(shù)據(jù),那么他就會(huì)再次掃描X頁面,等于X頁面就會(huì)被掃描2次甚至多次。以此類推,所以同一個(gè)數(shù)據(jù)頁可能會(huì)被多次重復(fù)的讀取,丟棄,在讀取,這無疑給存儲(chǔ)引擎極大地增加了IO的負(fù)擔(dān)。

3、更新太頻繁地字段不適合創(chuàng)建索引

當(dāng)你為這個(gè)字段創(chuàng)建索引時(shí)候,當(dāng)你再次更新這個(gè)字段數(shù)據(jù)時(shí),數(shù)據(jù)庫會(huì)自動(dòng)更新他的索引,所以當(dāng)這個(gè)字段更新太頻繁地時(shí)候那么就是不斷的更新索引,性能的影響可想而知。大概被檢索幾十次會(huì)更新一次的字段才比較符合建立索引的規(guī)范。而如果一個(gè)字段同一個(gè)時(shí)間段內(nèi)被更新多次,那么果斷不能為他建立索引。

4、不會(huì)出現(xiàn)在where條件中的字段不該建立索引

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫
易賢網(wǎng)手機(jī)網(wǎng)站地址:什么情況下需要?jiǎng)?chuàng)建MySQL索引?
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)