Здравствуйте, Андрей Майоров, Вы писали:
АМ> Айда проверять.
Честно? лень..
АМ> На выходе имеем: курсор всегда примерно в полтора раза быстрее. При этом важно, какой метод идет сначала. Если сначала выполняем безкурсорный вариант, то разница скачет от 3-х раз до 1 (курсор быстрее или так же). Если сначала курсорный, то разница как раз примерно полтора раза. Что интересно, время выполнения курсорного варианта скачет в существенно меньших пределах.
1. Мерять лучше через
SET STATISTICS TIME
2. Есть ли индекс хотя бы по ID в основной таблице?
3. Я в свое время мерял с более сложной таблицей, больше данных и помоему таблица была не одна. Фокус в том, что в случае курсора надо сразу тянуть все данные, а потом заниматься изнурительным скроллингом по ним, а во временную таблицу можно слить нужные ID'шники, а потом сджойнить ее с основной/основными.
4. В процессе меряния лучше менять номера страниц и, редко, размер страниц. Тоесть надо написать полноценные процедуры для пэйджинга и погонять их.