Спасибо, за хорошее исследование.
Попробуйте прогнать тест с таким запросом СТЕ.
WITH ordered_orders AS (
SELECT O.order_id,
row_number() OVER(
ORDER BY O.product_code ASC,
O.customer_code ASC,
O.order_type ASC,
O.qty_date ASC
) AS row_num
FROM orders O INNER JOIN customers C ON O.customer_code = C.customer_code
WHERE C.country_code = 'IT'
)
SELECT O.*, ordered.row_num
FROM ordered_orders ordered
join oreders O on o.order_id = ordered.order_id
WHERE row_num BETWEEN 400001 AND 500000
На наших данных и структуре в таком виде запрос выполнялся значительно быстрее.
Спасибо, за хорошее исследование.
Попробуйте прогнать тест с таким запросом СТЕ.
На наших данных и структуре в таком виде запрос выполнялся значительно быстрее.