Mysql Innodb 在大多数空值的列上建立索引

标签 mysql indexing query-optimization innodb

我尝试为包含 2000 万行的表中的日期时间字段建立索引。该列的大多数(99%)行为空。之后,CPU 利用率因此飙升至 100%。我无法找出确切的原因。

最佳答案

作为一种优化,InnoDB“延迟”了索引的更新。可能发生的情况是这种延迟操作正在发生,导致 CPU 尖峰。

有关详细信息,请搜索“InnoDB 更改缓冲”。

关于Mysql Innodb 在大多数空值的列上建立索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38709254/

相关文章:

php - MySQL:使用 JQuery 可排序新值更新数据库

mysql - SQL UPDATE 忽略 WHERE

mysql - 加入 3 个表相同的 id 不同和相同的描述

javascript - 似乎无法在 javascript 中添加两个整数?

entity-framework - EF 代码优先 : CreateIndex - Covering Index

sql - 查询时间过长

c# - 我已将 cnic 从 tbl_1 复制到 tbl_2,如果 tbl_2 中存在 cnic,则将密码存储在 tbl_2 中。但密码没有存储在 tbl_2 中

performance - 大量相同值的索引/性能策略

sql - 几个 ORDER BY 条件,最后一个很昂贵 - 如何优化它?

带有日期函数查询的mysql运行缓慢