当前位置:Gxlcms > 数据库问题 > mysql select in 怎么优化

mysql select in 怎么优化

时间:2021-07-01 10:21:17 帮助过:4人阅读

[5] => Array 2 ( 3 [key] => SELECT id,hanzi FROM pinyin WHERE (id IN ( 417,670,874,969,1106,1130,1151,1223,1253,1351,1376,1384,1996,2435,2535,2547,2626,2695,2820,2883,3157,3576,3617,3780,3809,3814,4262,4413,4722,4888,5003,5041,5449,5715,5893,5929,6005,6029,6081,6126,6321,6477,6902,7035,7079,7143,7303,7417,7736,8073 )) 4 [start] => 1499698628.4481 5 [over] => 1499698628.4756 6 [cost] => 0.0275 7 ) 8 9 [6] => Array 10 ( 11 [key] => (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 417) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 670) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 874) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 969) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1106) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1130) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1151) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1223) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1253) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1351) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1376) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1384) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1996) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2435) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2535) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2547) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2626) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2695) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2820) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2883) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3157) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3576) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3617) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3780) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3809) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3814) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4262) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4413) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4722) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4888) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5003) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5041) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5449) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5715) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5893) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5929) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6005) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6029) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6081) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6126) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6321) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6477) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 6902) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 7035) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 7079) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 7143) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 7303) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 7417) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 7736) ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 8073) ) 12 [start] => 1499698628.4759 13 [over] => 1499698628.5056 14 [cost] => 0.0297 15 )

 

3. in的数量为100时, union all 总是稍慢

 1 [5] => Array
 2         (
 3             [key] => SELECT id,hanzi FROM pinyin WHERE (id IN ( 42,48,117,506,513,618,784,801,820,869,886,888,889,896,942,974,1177,1207,1235,1287,1479,1491,1590,1594,1609,1611,1703,1764,1936,2010,2051,2098,2140,2342,2474,2506,2567,2709,2859,3282,3415,3485,3488,3588,3810,3829,3903,3956,3957,3997,4054,4169,4228,4283,4314,4517,4642,4644,4650,4723,4958,4976,5003,5010,5071,5132,5190,5201,5212,5315,5559,5666,5692,5844,5975,5991,6030,6086,6163,6347,6365,6442,6545,6577,6647,6710,6809,7025,7289,7473,7509,7517,7759,7863,7907,7966,8077,8122,8196 ))    
 4             [start] => 1499698949.2644
 5             [over] => 1499698949.2888
 6             [cost] => 0.0244
 7         )
 8 
 9     [6] => Array
10         (
11             [key] => (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 42)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 48)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 117)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 506)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 513)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 618)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 784)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 801)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 820)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 869)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 886)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id BETWEEN 888 AND 889)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 896)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 942)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 974)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1177)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1207)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1235)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1287)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1479)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1491)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1590)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1594)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1609)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1611)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1703)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1764)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 1936)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2010)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2051)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2098)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2140)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2342)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2474)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2506)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2567)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2709)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 2859)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3282)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3415)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3485)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3488)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3588)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3810)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3829)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3903)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id BETWEEN 3956 AND 3957)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 3997)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4054)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4169)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4228)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4283)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4314)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4517)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4642)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4644)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4650)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4723)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4958)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 4976)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5003)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5010)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5071)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5132)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id = 5190)    ) UNION ALL (SELECT id,hanzi FROM pinyin WHERE 1 AND (id =                    

人气教程排行