mysql表连接max()

时间:2017-01-30 08:07:08

标签: mysql join indexing max min

我使用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 |
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+

1 个答案:

答案 0 :(得分:2)

b:  INDEX(cID, ID)

将使其成为“覆盖”索引,因此它可能会更快地通过680648行。它应该替换当前的KEY(cID)

b的Key_len是5.这不同于表定义;事情变得太简单了。