Сортировка на диске
Вопрос
В плане Sort Method: external merge Disk: 250000kB. Что это значит и что можно сделать?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Таблица хранится на диске, а не в памяти; увеличить shared_buffers
- Индекс повреждён, и база сортирует строки вручную на диске
- Сортировка не влезла в
work_mem: индекс, меньше данных, больше памятиправильный ответ - Это нормальное сообщение для любого ORDER BY по большой таблице
Разбор
work_mem ограничивает память на одну операцию сортировки или хеширования. Не хватило, и база пишет промежуточные данные во временные файлы, это медленно. Варианты: индекс, который выдаёт строки уже в нужном порядке; выбирать меньше колонок и строк; поднять work_mem для конкретной сессии или запроса (глобально осторожно: лимит на каждую операцию каждого соединения). shared_buffers это кеш страниц таблиц, к сортировке отношения не имеет. Сортировка в памяти показывается как quicksort Memory.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.