当前位置:网站首页>Summary of MySQL index failure scenarios
Summary of MySQL index failure scenarios
2022-07-06 08:17:00 【Big fish eating cats】
Preface
mysql The tuning aspects of include Table structure optimization 、 Index optimization 、sql Statements to optimize 、 Multiple dimensions such as table and database optimization , This article mainly summarizes the scenarios and causes of index failure .
Blogging is to sort out your knowledge , At present, it is written for yourself , It's my homework after study , Also to form a good habit .
One 、 Does not satisfy the leftmost matching principle
First review the leftmost matching principle :
1. Create a federated index index(a,b,c) Relative to creating idx_a(a)、idx_a_b(a,b)、idx_a_b_c(a,b,c) 3 An index .
-------------------------------------------------------
select * from table where a='a' and c='c';
This kind of city will go idx_a Indexes , and Field c The index will not go .
-------------------------------------------------------
select * from table where b='b' and c='c';
This kind can scan the whole table ,index Index failure .
-------------------------------------------------------
2. The index of the field will be invalidated after the joint index encounters the range query .
-------------------------------------------------------
select * from table where a like 'a%' and b='b';
This kind can go idx_a Index range retrieval , Field b Don't go by index .
-------------------------------------------------------
Two 、 Frequent table return
Let's first analyze the following sql stay mysql Next is how to implement :
select * from table where age > 20 ; -- among Field age Create index
Will be in the index first age Field b+tree I found the information about the qualified id, Then, on the cluster index, pass id Return to the table to query the complete data .
be select * There must be a table returning operation , When the result of the query is more than half of the total and the total is large , At this time, the cost of returning to the table is greater than that of full table scanning , be mysql The optimizer will perform a full table scan , That is, the index is invalid .
3、 ... and 、 There are calculations on the index column
give an example :select * from t_user where age+1=10;
This kind of index will fail directly .
Four 、 There is a function on the index column
give an example :select * from user where SUBSTR(height,1,2)=17;
This kind of index will fail directly .
5、 ... and 、 Field types are different
give an example :select * from user where type = '5';
type It's an integer type , Query with string ,mysql Can do implicit conversion , The index will fail directly .
-------------------------------------------------------
give an example :select oi.*,ui.name from order_info oi left join user_info ui on oi.user_id = ui.id;
among order_info Of user_id It's a string type ,user_info Of id It's an integer type , Even if order_info Of user_id Creating an index also makes implicit conversion due to different field types , The index will fail .
6、 ... and 、 Column comparison
give an example :select * from user where id=height;
The column comparison index will fail directly .
7、 ... and 、 Common index failures
Such as index column Used not in、 like ‘%x’ 、or All indexes fail
边栏推荐
- Asia Pacific Financial Media | "APEC industry +" Western Silicon Valley invests 2trillion yuan in Chengdu Chongqing economic circle to catch up with Shanghai | stable strategy industry fund observatio
- Golang DNS write casually
- 化不掉的钟薛高,逃不出网红产品的生命周期
- CAD ARX 获取当前的视口设置
- Leetcode question brushing record | 203_ Remove linked list elements
- 08- [istio] istio gateway, virtual service and the relationship between them
- 使用 BR 恢复 S3 兼容存储上的备份数据
- Wireshark grabs packets to understand its word TCP segment
- [Yugong series] February 2022 U3D full stack class 011 unity section 1 mind map
- Data governance: misunderstanding sorting
猜你喜欢

ESP系列引脚說明圖匯總

The resources of underground pipe holes are tight, and the air blowing micro cable is not fragrant?

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

好用的TCP-UDP_debug工具下载和使用
![[research materials] 2021 China online high growth white paper - Download attached](/img/51/bea6179e4fac88f8b550b4213a2bca.jpg)
[research materials] 2021 China online high growth white paper - Download attached

Artcube information of "designer universe": Guangzhou implements the community designer system to achieve "great improvement" of urban quality | national economic and Information Center

ESP系列引脚说明图汇总

Circular reference of ES6 module

面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读

Database basic commands
随机推荐
TiDB备份与恢复简介
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
C language - bit segment
Binary tree creation & traversal
National economic information center "APEC industry +": economic data released at the night of the Spring Festival | observation of stable strategy industry fund
Tidb backup and recovery introduction
Vocabulary notes for postgraduate entrance examination (3)
[Yugong series] February 2022 U3D full stack class 011 unity section 1 mind map
Entity class design for calculating age based on birthday
【T31ZL智能视频应用处理器资料】
Migrate data from a tidb cluster to another tidb cluster
使用 TiDB Lightning 恢复 S3 兼容存储上的备份数据
Use Alibaba icon in uniapp
Easy to use tcp-udp_ Debug tool download and use
升级 TiDB Operator
Nft智能合约发行,盲盒,公开发售技术实战--拼图篇
C语言 - 位段
ROS learning (IX): referencing custom message types in header files
Image fusion -- challenges, opportunities and Countermeasures
Leetcode question brushing record | 203_ Remove linked list elements