首页 > 解决方案 > 我应该索引一个只能有 0 或 1 作为值的列吗

问题描述

我有一个 SQL 表,其中有一个名为 enable 的列,它只能存储 0 或 1。我想问我是否应该在该列上应用索引。如果是,它将如何提高性能?

PS表中有很多行,0和1的比例几乎相等。值为 0 的行数 = 值为 1 的行数

标签: mysqlsql

解决方案


评论太长了。

通常,索引二进制列是没有用的。有一个例外,您对所关心的内容(例如enable = 1)和大量具有该条件的查询的值很少。在这种情况下,聚集索引enable可能会有所帮助。请注意,这样的索引会影响值更改的查询的性能(因为该行实际上需要移动)。

布尔值也可以非常有效地用于多列索引,无论是否聚集。


推荐阅读