国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

什么情況下需要創建MySQL索引?

2024-07-24 12:46:40
字體:
來源:轉載
供稿:網友

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

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

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優化器對索引和JOIN順序的選擇簡單介紹MySQL中索引的使用方法MySQL索引優化的實際案例分析分析MySQL中索引引引發的CPU負載飆升的問題mysql索引失效的五種情況分析MySQL索引操作命令小結mysql 中存在null和空時創建唯一索引的方法Mysql索引詳細介紹MySQL查看、創建和刪除索引的方法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 囊谦县| 额济纳旗| 新化县| 平顶山市| 乐清市| 德化县| 嘉兴市| 广饶县| 阿拉善盟| 沾益县| 临沭县| 忻州市| 峨边| 宁安市| 梧州市| 黑水县| 扎囊县| 黄梅县| 蕉岭县| 贵定县| 昭觉县| 金门县| 商洛市| 余庆县| 阳曲县| 壶关县| 凌云县| 建德市| 广元市| 黄浦区| 汤阴县| 遂宁市| 江安县| 巴塘县| 东安县| 滨州市| 靖宇县| 澄江县| 阿拉善左旗| 隆林| 长寿区|