У меня проблема с запросом с использованием JOIN и MAX/MIN. Например:mysql table join with max()
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 |
+----+-------------+----------+------+-----------------+-----+---------+-----------+--------+-----------------------+
Извините, но я бы не ставил здесь всю таблицу, и может сделать много путаницы.
CREATE TABLE `a` (
`ID` int(11) NOT NULL,
`date` datetime DEFAULT,
PRIMARY KEY (`ID`),
KEY `date` (`date`),
)
CREATE TABLE `b` (
`bID` int(11) NOT NULL,
`ID` int(11) NOT NULL,
`cID` int(11) DEFAULT,
PRIMARY KEY (`bID`),
KEY `cID` (`cID`),
)
Пожалуйста, попробуйте объяснить, что результат был лучше. Вы хотите получить больше полей, быстрее, ...? – McNets
Предоставьте инструкции SHOW CREATE TABLE для всех соответствующих таблиц, а также – Strawberry
Да, я имею в виду запрос времени выполнения. Я знаю, как использовать индекс для ускорения результатов MAX и MIN в одном запросе, но я ищу решение для версии с JOIN. – SilverRAT