Which of the following is the higher efficiency of union and in?
I always think that the efficiency of in is high, but this time there is a point in the circle.
SELECT * FROM runinfo WHERE status in );
The query efficiency is usually more than one second.
Mysql> SELECT * FROM runinfo WHERE status in );
106 rows in set (1.20 sec)
Replace it with the following statement,
SELECT * FROM runinfo WHERE status = 0 unionSELECT * FROM runinfo WHERE status = 1 unionSELECT * FROM runinfo WHERE status = 2 unionSELECT * FROM runinfo WHERE status = 3 unionSELECT * FROM runinfo WHERE status = 4 unionSELECT * FROM runinfo WHERE status = 7 unionSELECT * FROM runinfo WHERE status = 9 unionSELECT * FROM runinfo WHERE status = 10
The efficiency has been greatly improved.
Mysql>
108 rows in set (0.02 sec)
I cannot tell the specific reason. The status field has an index, and this field has some updates.
Record it first, and try again later.