mysql什么时候不需要建立索引

  • WHERE 条件,GROUP BY,ORDER BY 里用不到的字段,索引的价值是快速定位,如果起不到定位的字段通常是不需要创建索引的,因为索引是会占用物理空间的。
  • 字段中存在大量重复数据,不需要创建索引,比如性别字段,只有男女,如果数据库表中,男女的记录分布均匀,那么无论搜索哪个值都可能得到一半的数据。在这些情况下,还不如不要索引,因为 MySQL 还有一个查询优化器,查询优化器发现某个值出现在表的数据行中的百分比很高的时候,它一般会忽略索引,进行全表扫描。
  • 表数据太少的时候,不需要创建索引;
  • 经常更新的字段不用创建索引,比如不要对电商项目的用户余额建立索引,因为索引字段频繁修改,由于要维护 B+Tree的有序性,那么就需要频繁的重建索引,这个过程是会影响数据库性能的。
相关推荐
程序新视界9 分钟前
一篇文章全面重温MySQL的join操作
mysql
BYSJMG19 分钟前
计算机毕设选题:基于Python+MySQL校园美食推荐系统【源码+文档+调试】
大数据·开发语言·python·mysql·django·课程设计·美食
不爱洗脚的小滕20 分钟前
【Redis】Scan 命令使用教程:高效遍历海量数据
数据库·redis·bootstrap
宁小法1 小时前
MySQL - 全表扫描 会发生死锁?
数据库·mysql·死锁·存储引擎·全表扫描
瑜伽娃娃1 小时前
基于Redis设计一个高可用的缓存
数据库·redis·缓存
叫我龙翔1 小时前
【MySQL】从零开始了解数据库开发 --- 数据类型
数据库·mysql·数据库开发
睡觉的时候不会困7 小时前
Redis 主从复制详解:原理、配置与主从切换实战
数据库·redis·bootstrap
程序员的世界你不懂9 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
自学也学好编程9 小时前
【数据库】Redis详解:内存数据库与缓存之王
数据库·redis
福赖9 小时前
《MySQL基础——用户管理》
mysql·用户管理