程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 如何正確創建MySQL索引

如何正確創建MySQL索引

編輯:MySQL綜合教程

如何正確創建MySQL索引


索引可以提高數據的檢索效率,也可以降低數據庫的IO成本,並且索引還可以降低數據庫的排序成本。排序分組操作主要消耗的就是CPU資源和內存,所以能夠在排序分組操作中好好的利用索引將會極大地降低CPU資源的消耗。本篇文章將簡單的分析一下如何正確創建MySQL數據索引。

如何判定是否需要創建索引?

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

這個都知道。什麼是教頻繁呢?分析你執行的所有SQL語句。最好將他們一個個都列出來。然後分析,發現其中有些字段在大部分的SQL語句查詢時候都會用到,那麼就果斷為他建立索引。

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

什麼是唯一性太差的字段。如狀態字段、類型字段。那些只存儲固定幾個值的字段,例如用戶登錄狀態、消息的status等。這個涉及到了索引掃描的特性。例如:通過索引查找鍵值為A和B的某些數據,通過A找到某條相符合的數據,這條數據在X頁上面,然後繼續掃描,又發現符合A的數據出現在了Y頁上面,那麼存儲引擎就會丟棄X頁面的數據,然後存儲Y頁面上的數據,一直到查找完所有對應A的數據,然後查找B字段,發現X頁面上面又有對應B字段的數據,那麼他就會再次掃描X頁面,等於X頁面就會被掃描2次甚至多次。以此類推,所以同一個數據頁可能會被多次重復的讀取,丟棄,在讀取,這無疑給存儲引擎極大地增加了IO的負擔。

3、更新太頻繁地字段不適合創建索引

當你為這個字段創建索引時候,當你再次更新這個字段數據時,數據庫會自動更新他的索引,所以當這個字段更新太頻繁地時候那麼就是不斷的更新索引,性能的影響可想而知。大概被檢索幾十次會更新一次的字段才比較符合建立索引的規范。而如果一個字段同一個時間段內被更新多次,那麼果斷不能為他建立索引。

4、不會出現在where條件中的字段不該建立索引

這個相信大家都知道。

您可能感興趣的文章

  • 合理使用MySQL數據庫索引以使數據庫高效運行
  • 數據庫建索引的原則和方法
  • MySQL索引操作命令(創建索引、重建索引、查詢索引、刪除索引)總結
  • mysql查詢表索引的命令詳解
  • Mysql的索引優化的一些常識性問題
  • 分析百度索引量不斷減少原因以及如何提高百度索引量
  • 從小型網站到超大規模網站的MySQL參考架構
  • 總結mysql服務器查詢慢原因與解決方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved