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

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

开发者学堂课程【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,这个索引的效率就越高。

相关文章
|
12月前
|
索引
索引
索引。
68 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
76 1
|
5月前
|
存储 NoSQL 关系型数据库
索引!索引!!索引!!!到底什么是索引?
**索引是数据库中的数据结构,类似书籍目录,加速数据查找和访问。优点包括提升查询性能、数据检索速度、支持唯一性约束及优化排序和连接操作。缺点在于增加写操作开销、占用存储空间、高维护成本和过多索引可能降低性能。常见的索引类型有单值、复合、唯一、聚集和非聚集索引等,实现方式涉及B树、B+树和哈希表。B树和B+树适合磁盘存储,B+树尤其适用于范围查询,哈希索引则适用于快速等值查询。**
|
5月前
|
NoSQL MongoDB 数据库
MongoDB的索引与索引字段的顺序
MongoDB的索引与索引字段的顺序
89 2
|
5月前
|
安全 关系型数据库 MySQL
合理使用索引
【5月更文挑战第9天】这篇文章探讨了数据库索引的高效使用,包括函数和表达式索引、查找和删除未使用的索引、安全删除索引、多列索引策略、部分索引以及针对通配符搜索、排序、散列和降序索引的特殊技巧。还介绍了部分索引在减少索引大小和处理唯一性约束中的应用,以及PostgreSQL对前导通配符搜索的支持。通过遵循简单的多列索引规则和利用特定类型的索引,如哈希和降序索引,可以显著提高查询性能。
100 0
|
存储 SQL 算法
索引是什么|学习笔记
快速学习索引是什么
135 0
索引是什么|学习笔记
|
JSON 数据格式 开发者
创建索引库和索引说明 | 学习笔记
快速学习创建索引库和索引说明
135 0
创建索引库和索引说明 | 学习笔记
|
关系型数据库 MySQL 开发者
索引两表优化案例|学习笔记
快速学习索引两表优化案例
106 0
索引两表优化案例|学习笔记
|
NoSQL MongoDB 数据库
唯一索引|学习笔记
快速学习唯一索引
|
分布式计算 资源调度 Hadoop
创建索引库和索引_说明|学习笔记
快速学习创建索引库和索引_说明。