Предположим, у меня есть небольшая база данных с тремя столбцами: «id1», «id2» и «date». Я индексирую свою базу данных в поле «id1», так как это часто выбираемое поле (многие запросы выбора запускаются с ex: где «id1» = 125548).Индексирование по полю и «упорядочивание» по другому полю
В каком-то конкретном запросе у меня есть необходимость сортировать записи пользователя на основе поля даты в таблице, которая не индексируется. Мое любопытство заключается в том, что операция сортировки (которая в основном работает по порядку) на поле даты будет побежал по всей базе данных, или только на строках пользователя (например:. 125548), который я выбираю на основе поля «iD1»
Ниже приведен пример запроса:
SELECT u
FROM UserView u
WHERE u.viewedId=:viewedId AND u.viewDate >=:dateLimit
ORDER BY u.viewDate DESC
Был бы глупым оптимизатором, если он закажет сначала, прежде чем он начнет фильтровать записи. Весь заказ был пустой тратой времени. –
Я тоже так думаю, но где-то я читал, что это то, что происходит. – ralzaul
Показать ваш запрос. –