Знаю что вопрос очень тупой, но все же. Как наиболее оптимально всмысле производительности сделать запрос, который достал из таблицы запись с минимальным значением поля date. Была мысль сделать вложенный запрос (т.е. сначало находим это минимальное значение, а потом ставим WHERE `date`=...). Еще была мысль упорядочить по возврастанию по date, а потом LIMIT 1. Но как же все таки оптимально?
Просто я не знаком с внутренними процессами в mySQL. И не знаю как там идет упорядочивание. Всего массива или только того, что в лимите.
[sql]SELECT `id` FROM `cache` WHERE `date`=min(`date`) LIMIT 1 SELECT `id` FROM `cache` WHERE `date`=min(`date`) GROUP BY `id` LIMIT 1 SELECT `id` FROM `cache` WHERE `date`=min(`date`) GROUP BY `date` LIMIT 1[/sql] Но выдает ошибку для всех трех запросов одну и ту же. #1111 - Invalid use of group function
[sql] SELECT `id` FROM `cache` WHERE `date`=min(`date`) LIMIT 1[/sql] Так? Но ведь выдает ошибку? Или просто через DESC и это не даст падения в производительности? Просто в этом блоке это очень критично.
нет, не так. если тебе нужен id из строки с минимальной датой, то Код (Text): select id from cache order by date limit 1