哪些情况不适合建索引|学习笔记

简介: 快速学习哪些情况不适合建索引

开发者学堂课程【MySQL 高级应用 - 索引和锁哪些情况不适合建索引】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/598/detail/8596


哪些情况不适合建索引


不适合建索引的情况

1.表记录太少

2.经常增删改的表—— Why :提高了查询速度,同时却会降低更新表的速度,如对表进 INSERTUPDATE DELETE。因为更新表时, MysQL 不仅要保存数据,还要保存一下索引文件。
数据重复且分布平均的表字段,因此应该只为最经常查询和最经常排序的数据列建立3.注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。

以你现在一百条记录以内,那个索引建或者不建。如果说上百万级别的,基本上满三百万左右性能开始逐渐下降,虽然说它官方上说撑得出5-8百万。但是从我们实践上,比如说像我们根本不敢到五百万才去优化。

差不多三百万就开始了。某一个字段,假设所有同学有一个国籍字段,这是固定且唯一的。这种去建立没什么效果。比如说性别,不是男就是女。也就是说数据的差异率和重复率不高,这种建没有太多意义。

假如一个表有10万行记录,有一个字段 A 只有 T 和两
种值,且每个值的分布概率大约为50%,那么对这种表 A 字段建索引一般不会提高数据库的查询速度。索引的选择性是指索引列中不同值的数目与表中记录数的比。

如果一个表中有2000条记录,表索引列有1980个不同的值,那么这个索引的选择性就是1980/2000=0.99

一个索引的选择性越接近于1,这个索引的效率就越高。

相关文章
|
28天前
|
存储 关系型数据库 数据库
什么是索引
【10月更文挑战第15天】什么是索引
|
3月前
|
TensorFlow 算法框架/工具 索引
索引
【8月更文挑战第13天】索引。
27 1
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
98 1
|
存储 关系型数据库 MySQL
了解和认识索引
了解和认识索引 。
62 0
|
6月前
|
存储 算法 关系型数据库
索引总结(2)
索引总结(2)
44 0
|
存储 SQL 算法
索引是什么|学习笔记
快速学习索引是什么
144 0
索引是什么|学习笔记
|
JSON 数据格式 开发者
创建索引库和索引说明 | 学习笔记
快速学习创建索引库和索引说明
创建索引库和索引说明 | 学习笔记
|
分布式计算 资源调度 Hadoop
创建索引库和索引_说明|学习笔记
快速学习创建索引库和索引_说明。
103 0
|
存储 缓存 自然语言处理
正排索引
介绍ElasticSearch相关正排索引
|
NoSQL MongoDB 数据库
唯一索引|学习笔记
快速学习唯一索引