SELECT * FROM products AS p LEFT JOIN stock AS eps ON eps.item_no = p.itemno GROUP BY p.itemno
products 2,970 条记录
stock 1,766 条记录item_no 与 itemno 都有索引。执行上面sql 花费18.8822 秒。
EXPLAIN发现索引都没用上。id select_type table type possible_keys key key_len ref rows Extra
--------------------------------------------------------------------------------------------
1 SIMPLE p ALL NULL NULL NULL NULL 2970 Using temporary; Using filesort
1 SIMPLE eps ALL NULL NULL NULL NULL 1766 求解。。18.8822无法授受。谢谢高鸟们。
products 2,970 条记录
stock 1,766 条记录item_no 与 itemno 都有索引。执行上面sql 花费18.8822 秒。
EXPLAIN发现索引都没用上。id select_type table type possible_keys key key_len ref rows Extra
--------------------------------------------------------------------------------------------
1 SIMPLE p ALL NULL NULL NULL NULL 2970 Using temporary; Using filesort
1 SIMPLE eps ALL NULL NULL NULL NULL 1766 求解。。18.8822无法授受。谢谢高鸟们。
show variables like 'tmp';
如果确实有索引,可能别的线程对这些表disable keys了(当然,前提是你用了MyISAM存储引擎)。
如果这些可能性都被排除了,那就太诡异了~
这两个索引是有的。现在问题解决了。是字符集问题。
现在查询0.03秒Orz。