ну я еще однажды использовал bitmap index. Но это и вправду суровая экзотика. Еще была попытка ускорить процесс рассчета остатков по inventSum с помошью materialized view. К моему глубокому сожалению - не доведенная до конца
. Просто как показала практика - при разноске больших складских журналов списания - куча времени уходит на рассчет себестоимости по InventSum. На MS SQL я кстати тоже пробовал применять тамошний аналог persistent view (cluster indexed view - если я правильно помню терминологию). Там это существенно ускорило рассчет мгновенной себестоимости списания. Правда - при этом еще и неприлично замедлило обновление inventTrans
. Поскольку в oracle работа с persistent view сделана на мой взгляд несколько правильнее чем в MS SQL - была надежда что там это позволит кардинально решить проблему. Но честно говоря - просто времени не хватило на исследования - да и у заказчика MS SQL стоял.
Outlines штука полезная. Я ее несколько раз применял на практике, когда Оракл какой-то уж очень кривой план запроса генерировал, а с помошью хинтов аксапты его вылечить не удавалось.
Ну и то что partitioning рулит - думаю все согласятся. У нас тут на одном из проектов прогноз продаж строился на основании данных по продажам за три года (ну там где-то миллиона три складских проводок было - как я помню). Так вот после того как клиентские админы распартиционировали эту таблицу на несколько дисков по дате проводки, время построения этого прогноза продаж упало где-то в 6-7 раз. (Точную цифру не скажу, просто раньше они этот процесс срубали часов через 6, а после перебиения таблиц у них все это стало строится за 45 минут примерно).