Базы данных Oracle - статьи

         

Системы поддержки принятия решений (decision support systems)


Системы поддержки принятия решений, такие, как приложения хранилищ данных, характеризуются небольшим количеством пользователей, выполняющими сложные операторы SQL, которые имеют мало повторений или не имеют их вообще. Для каждого сложного оператора SQL также имеет важное значение то, чтобы оптимизатору для выбора правильного плана выполнения была доступна вся необходимая информация. В СУБД Oracle8i это возможно только в том случае, когда переменные связывания не используются. В Oracle8i использование переменных связывания скрывает от оптимизатора фактические значения, поэтому он для генерации лучшего плана выполнения будет использовать эвристику, вместо того чтобы потенциально использовать информацию о реальном распределении данных. Для этого типа приложений основной объем ресурсов используется не на шагах разбора или оптимизации, поэтому сокращение времени выполнения этих шагов мало влияет на общую производительностью. Важнее то, чтобы шаг выполнения не затягивался на минуты и часы, а шаг оптимизации выполнялся с возможно лучшими доступными данными, позволяющими сгенерировать наиболее эффективный план выполнения. В частности, это справедливо, если вы соберете статистики по столбцам, которые предоставляют оптимизатору детализированную информацию о доступных данных.

Таким образом, для данного типа приложений, работающих под управлением СУБД Oracle8i, не должны использоваться переменные связывания, а значение параметра cursor_sharing должно быть установлено как exact, чтобы курсоры и, следовательно, планы выполнения не разделялись.



Содержание раздела