Сложный запрос переполняет /tmp в linux
Работает на первых страницах без проблем, на страницах от 200 и выше вешает.
Запрос тупой, какие предложения по оптимизации?
Индексы есть, составные тоже есть (уже) :)
Там сортировка сложная оч:
SELECT (запчасти) FROM (таблица) WHERE category_id IN (%d....%d) OR category_id IS NULL ORDER BY category_id = main_category_id DESC, ISNULL(category_id), ISNULL(name), partnumber, name;
Из-за двух миллионов записей (некоторые говорят что для СУБД два миллиона это должно быть что-то незаметное и мгновенное) - на 200 странице, когда OFFSET становится близким к 400 тысяч - вешается /tmp
Предложения?