sergey888 |
А может стоит сначала написать запрос, объединяющий 2 таблицы? |
Это одна и та же таблица. Смысл в том, что в таблице много строк, и надо выбрать строки по дате - на вход подаётся интервал дат. Я пробовал секционировать по этому полю, но это принесло выигрыш по скорости всего лишь где-то около 20%, т.к. по этому полю есть индекс, и секционирование с точки зрения чтения по этому полю просто немного уменьшает количество уровней в двоичном дереве - как в случае несекционированного индекса, так и в случае секционированного.
Поэтому я хотел сделать так - считывать из таблицы данные за день в цикле по интервалу. Вариант с временной таблицей, куда складываются результаты, начальник забраковал, т.к. он считает нерациональным делать временную таблицу для решения этой задачи.
С синтаксисом я разобрался, но так и не понял, как организовать цикл с использованием функции
function OneDay(pDate in Date) return THistErr pipelined;
который бы объединял данные по всем дням заданного интервала.