我試圖在包含2000萬行的表中索引日期時間字段。該列的多數(99%)行爲空。之後,由於這個原因CPU利用率高達100%。我無法找出相同的確切原因。Mysql Innodb在大多數爲空值的列上建立索引
回答
作爲優化,InnoDB「延遲」了索引的更新。可能發生的是這個延遲操作正在發生,導致CPU飆升。
有關更多信息,請搜索「InnoDB更改緩衝」。
我一旦CPU飆升就刪除索引。在我再次創建索引之前,我需要確定根本原因。任何指針調試?任何估計它的延遲索引更新完成? – Gargee
20M行 - 必須掃描它們,創建並分類文件,然後寫回磁盤等。請向我們展示您使用的命令和「SHOW CREATE TABLE」。 –
分鐘/小時。取決於很多東西 - 表的大小,'innodb_buffer_pool_size'的設置,旋轉驅動器與固態硬盤等 –
- 1. 在MySQL上建立索引
- 2. 如何爲longtext(mysql,innodb)創建索引?
- 3. mysql建立索引上的一個有限值的整數
- 4. MySQL在相對較大的表上添加索引(InnoDB)
- 5. 帶有散列索引的MySQL InnoDB表
- 6. 爲什麼在InnoDB中索引大小大於數據大小?
- 7. 爲什麼MySQL Innodb在創建唯一索引時「創建排序索引」?
- 8. MySQL InnoDB:索引鎖 - 需要建議
- 9. Mysql的innodb的:選擇索引類型爲「大於> =」選擇
- 10. MySQL索引建立性能
- 11. 交換MySQL InnoDB索引
- 12. 建立在MySQL表的索引
- 13. MySQL:爲Innodb中大約100,000行的列設置索引所需的時間?
- 14. MySQL-InnoDB索引varchar或索引多個變種
- 15. 爲HAVING子句中的列建立索引 - MySQL
- 16. mysql 5.0的索引是否爲空值?
- 17. mysql的索引是否爲空值?
- 18. 爲HDFS序列文件建立索引
- 19. 在MySql BLOB列上創建空間索引時出錯
- 20. 如何在Lua中爲多個數據類型數組建立索引值?
- 21. MySQL多列索引
- 22. 多列mysql索引
- 23. MYSQL多列索引
- 24. MySQL的innodb的索引混淆
- 25. 的MySQL Innodb的索引混亂
- 26. Solr爲Sitecore建立索引
- 27. 創建已建立索引的列外鍵與MySQL工作臺
- 28. InnoDB上的MySql數值類型遷移
- 29. 列出單詞索引的Innodb全文
- 30. mysql/innodb表的索引部分?
可能的重複[是否mysql的索引爲空值?](http://stackoverflow.com/questions/289001/does-mysql-index-null-values) – MikeJRamsey56