我正要编写一个包含 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/