mysql - 索引 bool 字段是否有任何性能提升?

标签 mysql indexing innodb

我正要编写一个包含 WHERE isok=1 的查询。顾名思义,isok 是一个 bool 字段(实际上是一个 TINYINT(1) UNSIGNED,根据需要设置为 0 或 1)。

索引该字段是否有任何性能提升?引擎(在这种情况下为 InnoDB)在查找索引时的性能会更好还是更差?

最佳答案

只是在这里对其他几个答案进行更详细的说明,因为根据我的经验,那些查看此类问题的人与我们在同一条船上,我们都听说索引 bool 字段毫无意义,但是.. .

我们有一个包含大约 400 万行的表,一次只有大约 1000 行左右会标记一个 bool 开关,这就是我们搜索的内容。在我们的 bool 字段上添加索引可以将查询速度提高几个数量级,从大约 9 多秒缩短到几分之一秒。

关于mysql - 索引 bool 字段是否有任何性能提升?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10524651/

相关文章:

mysql - 如何在 Mac OS X 上安装 MySQL gem

python - NumPy:如何检索多维数组中最大值的索引

MySQL 数据库索引性能问题

mysql - 在 mysql/mariadb 中,索引是存储在数据库级别还是表级别?

mysql - 如何计算 InnoDB 数据库所需的磁盘空间?

php - MySQL加入: how to simplyfy the given query?

java - 如何将当前数据库更改为另一个?

mysql - Mysql INSERT IGNORE 可以忽略哪些错误,实际上可以忽略?

php - 使用 "insert"时图像上传,但使用 "update"时不上传

c++ - 重载元组索引运算符 - C++