Методы оптимизации выполнения запросов в реляционных СУБД


Некоторые частные алгоритмы - часть 4


Неясно, можно ли практически применить этот подход, но идея совмещения процессов сортировки и вычисления агрегатных функций кажется нам очень здравой.

Упомянем, наконец, еще одно предложение, касающееся повышения эффективности выполнение выделенного набора запросов [69-70]. Это предложение является очень простым, может иногда резко повысить эффективность системы, но оставляет много вопросов в части реализации. Авторы предлагают хранить в базе данных наряду с базовыми отношениями тексты и результаты выполнения некоторых предписанных администратором запросов.

При поступлении запроса в систему прежде всего производится поиск этого запроса среди ранее сохраненных. Если он находится среди них, то, естественно, выполнение запроса очень эффективно. В противном случае выполнение запроса происходит по общим правилам. Возможны расширения этого подхода (не предлагаемые авторами). Можно было бы относиться к хранимым запросам, как к материализованным представлениям базы данных, и разрешать задавать запросы над ними и т.д.

Очевидной проблемой, эффективное решение которой неизвестно, является поддержание корректности результатов хранимых запросов при модификациях базы данных. В [69-70] предлагаются некоторые решения этой проблемы, но они не являются полными, а соответствующие действия могут вызывать существенные накладные расходы при выполнении операций вставки, удаления и модификации кортежей в базовые отношения.

Отмечается одна область приложений, в которых использование хранимых отношений может резко повысить эффективность системы. Это меню-ориентированные системы со стандартным встроенным набором запросов, в которых изменения базы данных редки.

| |




Начало  Назад  Вперед



Книжный магазин