MySQL: InnoDB Последнее изменение - PullRequest
0 голосов
/ 14 ноября 2011

Я хочу найти самую последнюю дату редактирования таблиц в моей базе данных.

Это пример запроса, который я планирую использовать:

      SELECT `edited` FROM `table1`
UNION SELECT `edited` FROM `table2`
UNION SELECT `edited` FROM `table3`
UNION SELECT `edited` FROM `table4`
ORDER BY `edited` DESC
LIMIT 1

Это работает, но я надеюсь, что кто-то может предложить более производительное решение.

1 Ответ

1 голос
/ 14 ноября 2011

Это может работать быстрее, так как каждый из вариантов выбора будет ограничен одной строкой, а не будет возвращать все строки из каждой таблицы.

      SELECT MAX(`edited`) FROM `table1`
UNION SELECT MAX(`edited`) FROM `table2`
UNION SELECT MAX(`edited`) FROM `table3`
UNION SELECT MAX(`edited`) FROM `table4`
ORDER BY `edited` DESC
LIMIT 1
...