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

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

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

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


哪些情况适合建索引


适合建索引

有以下几种情况:

1. 主键自动建立唯一索引

2.频繁作为查询条件的字段应该创建索引

比如:

银行系统的银行账号、电信系统的手机号还有微信里频繁查找的也应该创立索引。

3.查询中与其它表关联的字段,外键关系建立索引;

比如:员工表上员工与部门的 ID

4.频繁更新的字段不适合创建索引:

因为每次更新不单单是更新了记录还会更新索引,加重了 IO 负担。

5. Where 条件里用不到的字段不能创建索引;

在银行系统中,既能用于查找,也能用于业务的可以建立索引,其他的尽量不要建立索引。

6.单键/组合索引的选择问题;

在高并发下倾向创建组合索引。

7.查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度

索引的主要工作是检索和排序,比如说建立了一个符合三个字段的索引,那第一个字段叫 name ,第二个字段叫 egg ,第三个字段叫 email ,在查找时会按顺序查找,在排序时也应该按顺序排序。

8.查询中统计或者分组字段。

相关文章
|
存储 设计模式 缓存
通用点赞设计思路
点赞作为一个高频率的操作,如果每次操作都读写数据库会增加数据库的压力,所以采用缓存+定时任务来实现。点赞数据是在redis中缓存半小时,同时定时任务是每隔5分钟执行一次,做持久化存储,这里的缓存时间和任务执行时间可根据项目情况而定。
2935 2
|
前端开发
jeecgboot数据权限用法
jeecgboot数据权限用法
1473 0
jeecgboot数据权限用法
使用LamdbaUpdateWrapper的setSql作用及风险
使用LamdbaUpdateWrapper的setSql作用及风险
使用LamdbaUpdateWrapper的setSql作用及风险
|
6月前
|
机器学习/深度学习 存储 NoSQL
基于 Flink + Redis 的实时特征工程实战:电商场景动态分桶计数实现
本文介绍了基于 Flink 与 Redis 构建的电商场景下实时特征工程解决方案,重点实现动态分桶计数等复杂特征计算。通过流处理引擎 Flink 实时加工用户行为数据,结合 Redis 高性能存储,满足推荐系统毫秒级特征更新需求。技术架构涵盖状态管理、窗口计算、Redis 数据模型设计及特征服务集成,有效提升模型预测效果与系统吞吐能力。
651 2
|
存储 SQL 数据库
什么是 ACID 特性?
【8月更文挑战第3天】
1012 11
什么是 ACID 特性?
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之可以支持一个源同步到多个sink吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Java Spring
Spring Boot Admin 授权配置
Spring Boot Admin 授权配置
247 0
|
SQL 关系型数据库 MySQL
一文带你了解MySQL的DDL语句
一文带你了解MySQL的DDL语句
966 1
|
缓存 NoSQL Java
Spring Cache 整合 Redis 做缓存使用~ 快速上手~
Spring Cache 整合 Redis 做缓存使用~ 快速上手~
525 1
|
消息中间件 Java Spring
SpringBoot整合RabbitMQ
SpringBoot整合RabbitMQ
315 0