当前位置:网站首页>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
边栏推荐
- Yu Xia looks at win system kernel -- message mechanism
- Use dumping to back up tidb cluster data to S3 compatible storage
- Step by step guide to setting NFT as an ens profile Avatar
- Circular reference of ES6 module
- Uibehavior, a comprehensive exploration of ugui source code
- ESP系列引脚说明图汇总
- Analysis of pointer and array written test questions
- Artcube information of "designer universe": Guangzhou implements the community designer system to achieve "great improvement" of urban quality | national economic and Information Center
- Introduction to number theory (greatest common divisor, prime sieve, inverse element)
- [Yugong series] February 2022 U3D full stack class 010 prefabricated parts
猜你喜欢
你想知道的ArrayList知识都在这
[Yugong series] February 2022 U3D full stack class 011 unity section 1 mind map
24. Query table data (basic)
C language custom type: struct
在 uniapp 中使用阿里图标
Data governance: 3 characteristics, 4 transcendence and 3 28 principles of master data
C language - bit segment
Chinese Remainder Theorem (Sun Tzu theorem) principle and template code
IP lab, the first weekly recheck
[redis] Introduction to NoSQL database and redis
随机推荐
21. Delete data
IP lab, the first weekly recheck
[Yugong series] creation of 009 unity object of U3D full stack class in February 2022
Secure captcha (unsafe verification code) of DVWA range
What are the ways to download network pictures with PHP
使用 BR 备份 TiDB 集群数据到兼容 S3 的存储
Use dumping to back up tidb cluster data to S3 compatible storage
将 NFT 设置为 ENS 个人资料头像的分步指南
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
[research materials] 2021 Research Report on China's smart medical industry - Download attached
[t31zl intelligent video application processor data]
Introduction to backup and recovery Cr
Hill sort c language
On why we should program for all
2.10transfrom attribute
[research materials] 2021 live broadcast annual data report of e-commerce - Download attached
指针和数组笔试题解析
1. Color inversion, logarithmic transformation, gamma transformation source code - miniopencv from zero
07- [istio] istio destinationrule (purpose rule)
hcip--mpls