索引优化5|学习笔记

简介: 快速学习索引优化5

开发者学堂课程【MySQL 高级应用 - 索引和锁索引优化5】学习笔记,与课程紧密联系,让用户快速学习知识。

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


索引优化5

一、 mysql 在使用不等于(!=或者<>)的时候无法使用

索引会导致全表扫描

理论上可以用 possible-keys ,而实际上用的是 key

image.png

如下:

rysq1» explain select * from staffs where name-'July' ;

select. type i table I type 1 possible keys

key

key_1en I ref 1 rows 1 Extra

SIMPLE

staffs i ref i idx. staffs nameAgePos i idx. staffs nameAgePos i 74

constI 1 1 using where

in set (0.00 sec)

mysq1> explain select * from staffs where nane != July';

select. _type I table I type I possible keys I key I key_len I ref I rows I Extra

SIMPLEI staffs I ALLI idx staffs nameAgePos I NULL I NULLI NULLI 5I using wherel

set (0.00 sec)

mysq1> explain select * from staffs where name o 'July' ;

select type 1 tabletype 1 possible keys

key 1 key_len 1 ref

SIMPLEI staffs I ALL 1 idx staffs nameAgePosNULL I NULL

NULL

in set (0.00 sec)

不要因为索引失效而不去写,而要知道会有这种情况也依旧要去写。因为具体要看市场环境、业务、技术,具体问题具体分析。

比如有些表数据非常少,而且各种的特殊的历史原因或者极端的需求下面,即便索引失效了,这个时候也要不得已而为之。

相关文章
|
8月前
|
索引
索引优化
索引优化
344 0
|
2天前
|
SQL 存储 Java
9个SQL优化技巧
本文总结了SQL查询优化的几个关键策略:1) 避免使用`select *`,只查询需要的字段;2) 检查执行计划,确保查询条件和排序字段使用了索引;3) 避免使用`or`连接,可考虑用`union`替代;4) 减少`in`和`not in`的使用,尤其是大数据量时;5) 避免左模糊查询,以利用索引;6) 使用JOIN代替子查询,提高效率;7) 根据需求选择合适的JOIN类型(如INNER JOIN、LEFT JOIN);8) 优化`group by`字段,使用索引和覆盖索引;9) 对深分页查询进行优化,如使用子查询、标签记录法。这些策略有助于提升接口性能和数据库效率。
|
8天前
|
SQL 关系型数据库 MySQL
8种常见SQL优化
8种常见SQL优化
23 0
|
8天前
|
SQL 存储 关系型数据库
MySQL索引原理以及SQL优化
MySQL索引原理以及SQL优化
67 0
|
8天前
|
SQL 存储 关系型数据库
4.2.2 MySQL索引原理以及SQL优化
4.2.2 MySQL索引原理以及SQL优化
|
8天前
|
存储 SQL 关系型数据库
mysql索引原理以及sql优化
mysql索引原理以及sql优化
27 0
|
SQL 前端开发 关系型数据库
索引优化|学习笔记
快速学习索引优化
91 0
索引优化|学习笔记
|
关系型数据库 MySQL 开发者
索引优化2|学习笔记
快速学习索引优化2
52 0
索引优化2|学习笔记
|
SQL 关系型数据库 MySQL
索引优化4|学习笔记
快速学习索引优化4
62 0
索引优化4|学习笔记
|
存储 SQL 关系型数据库
索引优化8|学习笔记
快速学习索引优化8
117 0
索引优化8|学习笔记