До изменения зафиксируйте корректные результаты и время поиска на типовых и тяжёлых данных; после сравните семантику, границы, порядок, пагинацию и план запроса.
Представьте, что в бэклоге есть задача на оптимизацию SQL-запроса на странице поиска пользователей. Какой чек-лист проверок вы составите до и после реализации, если доступны только UI-форма и база данных?
До изменения зафиксируйте корректные результаты и время поиска на типовых и тяжёлых данных; после сравните семантику, границы, порядок, пагинацию и план запроса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
До изменения зафиксируйте корректные результаты и время поиска на типовых и тяжёлых данных; после сравните семантику, границы, порядок, пагинацию и план запроса.
Проверьте пустую строку, частичное совпадение, регистр по контракту, отсутствующего пользователя, дубли и права на видимость. Сравнивайте одинаковый набор данных и учитывайте кеш. Через БД можно изучить план и состав результата, но EXPLAIN ANALYZE действительно выполняет запрос и требует подходящего стенда. UI-время включает сеть и рендер, поэтому не равно времени SQL. Оптимизация не должна менять найденных пользователей ради ускорения.