所以我有这个查询
SELECT
*
FROM table1 i
LEFT JOIN table2 k
ON k.field1 = i.field2
WHERE k.field3 IN
(632569, 658869, 1253996, 2112571, 164715, 165082, 658665, 180550, 323455, 165579, 164665, 282091, 164605, 164714, 626888, 165277, 164196)
OR i.field2
IN
(632569, 658869, 1253996, 2112571, 164715, 165082, 658665, 180550, 323455, 165579, 164665, 282091, 164605, 164714, 626888, 165277, 164196);
解释会显示它正在对 table1 (i) 执行全表扫描。有没有办法改革查询,使其不会进行全表扫描?
我知道我可以将它分成 2 并使用联合,但我宁愿不这样做,因为我的实际查询比这大得多,所以请建议替代方法。