@deepin

Как быстро выбрать максимальное значение id?

return $this->pdo('select max(id) from users')->fetchColumn(0) ?? 0;

Добавление в запрос desc или desc limit 1 ускорит запрос? То есть поиск сразу перейдёт к максимальному id или будет прогонять все строки?
  • Вопрос задан
  • 270 просмотров
Пригласить эксперта
Ответы на вопрос 2
@mamontm
limit 1 означает, что поиск будет идти полный (оптимизированный по индексу, если индекс есть).
Но потом вам будет отдан только 1 строка из найденных.

То есть сам limit 1 ускоряет не поиск, а передачу результата между сервером и вашей программой, если вам нужна только 1 строка, а прочие строки результата не нужны.

В случае с max() все равно результатом будет 1 строка, так что что с limit 1, что без него - разницы нет.

Повангую:
Если вам нужен ID дня новой строки, то это
https://www.tutorialspoint.com/mysql/mysql-using-s...
Это действительно радикально быстрее.
Ответ написан
Zarom
@Zarom
Мастер на все руки из жопы
max(id) будет искать по индексу, если он есть.
Если нет - по всем строкам.
Отсюда вывод - нужен индекс. Плюсом будет descending index

Если что - автор вопроса "все знает" .
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы