Will mysql's in invalidate the index?

Will mysql's in invalidate the index?

Will mysql's IN invalidate the index? Won't! See the results:

mysql> desc select * from tb_province where name in ('lily3', 'lily2', 'lily1');
+----+-------------+-------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
| 1 | SIMPLE | tb_province | NULL | ALL | NULL | NULL | NULL | NULL | 108780 | 30.00 | Using where |
+----+-------------+-------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
1 row in set, 1 warning (0.00 sec)

mysql> alter table tb_province add index g(name);
Query OK, 0 rows affected (0.29 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> desc select * from tb_province where name in ('lily3', 'lily2', 'lily1');
+----+-------------+-------------+------------+-------+---------------+------+---------+------+------+------+----------+-----------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------------+------------+-------+---------------+------+---------+------+------+------+----------+-----------------------+
| 1 | SIMPLE | tb_province | NULL | range | g | g | 34 | NULL | 3 | 100.00 | Using index condition |
+----+-------------+-------------+------------+-------+---------------+------+---------+------+------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)
mysql>

By the way, the results found by in are not necessarily sorted by in, as follows:

mysql> select * from tb_province where name in ('lily3', 'lily2', 'lily1');
+----+-------+-------+------+------+------+------+------+------+------+------+------+------+------+
| id | name | score | x | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
+----+-------+-------+------+------+------+------+------+------+------+------+------+------+------+
| 1 | lily1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2 | lily2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 3 | lily3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
+----+-------+-------+------+------+------+------+------+------+------+------+------+------+------+
3 rows in set (0.00 sec)
mysql>

Summarize

The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM. If you want to learn more about this, please check out the following links

You may also be interested in:
  • Analysis of several situations where Mysql indexes fail
  • Common scenarios and avoidance methods for index failure in MySQL
  • Detailed analysis of the situations in which database indexes will fail in MySQL
  • Analysis of five situations of MySQL index failure
  • Several methods to solve the problem of MySQL fuzzy query index failure
  • Summary of several situations in which MySQL indexes fail
  • Summary of some common writing methods that cause MySQL index failure
  • Detailed analysis of several situations in which MySQL indexes fail
  • Analysis of several situations where MySQL index fails
  • Detailed explanation of MySQL database indexes and failure scenarios

<<:  How to implement Vue timer

>>:  Practical experience of implementing nginx to forward requests based on URL

Recommend

Example of using Docker to build an ELK log system

The following installations all use the ~/ direct...

How to install and configure ftp server in CentOS8.0

After the release of CentOS8.0-1905, we tried to ...

Two methods to implement Mysql remote connection configuration

Two methods to implement Mysql remote connection ...

Summary of the differences between global objects in nodejs and browsers

In Node.js, a .js file is a complete scope (modul...

MySQL data types full analysis

Data Type: The basic rules that define what data ...

Docker cleanup environment operation

Start cleaning carefully! List unused volumes doc...

How to use border-image to implement text bubble border sample code

During the development activity, I encountered a ...

Docker's health detection mechanism

For containers, the simplest health check is the ...

vue+rem custom carousel effect

The implementation of custom carousel chart using...

MySQL database table partitioning considerations [recommended]

Table partitioning is different from database par...

Detailed steps to install web server using Apache httpd2.4.37 on centos8

Step 1: yum install httpd -y #Install httpd servi...

The impact of limit on query performance in MySQL

I. Introduction First, let me explain the version...

Vue detailed explanation of mixins usage

Table of contents Preface 1. What are Mixins? 2. ...

Set the input to read-only via disabled and readonly

There are two ways to achieve read-only input: dis...