- WHERE 条件,GROUP BY,ORDER BY 里用不到的字段,索引的价值是快速定位,如果起不到定位的字段通常是不需要创建索引的,因为索引是会占用物理空间的。
- 字段中存在大量重复数据,不需要创建索引,比如性别字段,只有男女,如果数据库表中,男女的记录分布均匀,那么无论搜索哪个值都可能得到一半的数据。在这些情况下,还不如不要索引,因为 MySQL 还有一个查询优化器,查询优化器发现某个值出现在表的数据行中的百分比很高的时候,它一般会忽略索引,进行全表扫描。
- 表数据太少的时候,不需要创建索引;
- 经常更新的字段不用创建索引,比如不要对电商项目的用户余额建立索引,因为索引字段频繁修改,由于要维护 B+Tree的有序性,那么就需要频繁的重建索引,这个过程是会影响数据库性能的。
mysql什么时候不需要建立索引
hjx_dou2024-06-19 22:30
相关推荐
XXYBMOOO41 分钟前
基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例嘉嘉king1 小时前
Mysql联表查询镜舟科技2 小时前
NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?TDengine (老段)2 小时前
TDengine 语言连接器(Node.js)Sunlight_7772 小时前
第五章 SQLite数据库:3、SQLite 常用语法及使用案例数据库砖家3 小时前
YashanDB|虚拟内存高出实际内存十几G?原因不只是“占用大”这么简单郭源潮14 小时前
《MySQL:MySQL表结构的基本操作》火龙谷4 小时前
【hive】Hive对数据库,对表的操作(一)