mysql - 我应该索引一个只能有 0 或 1 作为值的列吗
问题描述
我有一个 SQL 表,其中有一个名为 enable 的列,它只能存储 0 或 1。我想问我是否应该在该列上应用索引。如果是,它将如何提高性能?
PS表中有很多行,0和1的比例几乎相等。值为 0 的行数 = 值为 1 的行数
解决方案
评论太长了。
通常,索引二进制列是没有用的。有一个例外,您对所关心的内容(例如enable = 1
)和大量具有该条件的查询的值很少。在这种情况下,聚集索引enable
可能会有所帮助。请注意,这样的索引会影响值更改的查询的性能(因为该行实际上需要移动)。
布尔值也可以非常有效地用于多列索引,无论是否聚集。
推荐阅读
- sql - 为每个组 SQL 选择 max(date)
- sql - SQL Query 根据条件返回特定匹配值的表
- linux - 如何在 Linux 中更改专用于 Docker 的内存?
- php - 安装任何主题后,我在 WordPress 中遇到 wp_includes 问题
- phpmyadmin - 更新 phpMyAdmin 时出现问题:Composer 依赖项
- r - Quantstrat 使用我的线性回归曲线函数抛出错误
- reactjs - 使用 cloneElement 向孩子添加 onClick 道具
- django - 使用 Django 设置 shibboleth SP
- reactjs - Material-UI CloseIcon not showing in Autocomplete
- kubernetes - K8s 可以在不同区域共享 Persistent volume/Storage 吗?