我使用JOIN和MAX / MIN查询有问题。例如:
regex
可以添加索引或更改此查询结果更好吗? 下面是解释结果
SELECT Min(a.date), Max(a.date)
FROM a
INNER JOIN b ON b.ID = a.ID AND b.cID = 5
很抱歉,但我不会把整张表放在这里,并且可能会造成很多混乱。
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
| 1 | SIMPLE | b | ref | PRIMARY,cID | cID | 5 | const | 680648 | Using index |
| 1 | SIMPLE | a | ref | ID | ID | 5 | base.b.ID | 1 | Using index condition |
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
答案 0 :(得分:2)
b: INDEX(cID, ID)
将使其成为“覆盖”索引,因此它可能会更快地通过680648行。它应该替换当前的KEY(cID)
。
b
的Key_len是5.这不同于表定义;事情变得太简单了。