Оптимизация запросов к базе данных.

Возможности оптимизатора запросов в значительной мере определяют способности сервера эффективно обрабатывать SQL-операторы, затрагивающие несколько таблиц и множество строк. В частности, оптимизатор выбирает из нескольких вариантов оптимальный план выполнения запроса (рис. 5), в котором в виде дерева определены порядок перебора индексов и тип соединения таблиц на каждом шаге выполнения. Относительная стоимость запроса оценивается, исходя из предполагаемого количества операций с диском и операций сравнения в памяти. Оптимизатор должен строить свои оценки на статистике и на распределении данных в индексах, но не на синтаксисе записи SQL-запроса. При обработке сложных запросов в современных СУБД различные порции запроса могут выполняться параллельно или, наоборот, задерживаться планировщиком с целью улучшить общую производительность и использование ресурсов. Кроме того, используемый сервером баз данных параллелизм может резко изменить стратегии оптимизации. Например, при распараллеливании операции соединения таблиц иногда эффективнее обходиться без индексов, в других случаях для обеспечения одновременности доступа к данным необходимо тщательно учитывать уровень изоляции транзакций. Поэтому здесь необходима тесная кооперация между оптимизатором и подсистемой манипуляции данными, учитывающая все тонкости последующей обработки запроса в многопользовательском окружении.


14. Основные функции и компоненты СУБД.

Функции СУБД:

1. ведение БД: ввод, корректир, сортировка, обработка, поиск данных, обработка по запросу.

2. обеспечение безопасности и целостности данных

3. управление приоритетами

4. формирование отчетов

5. операции над служебными данными (метаданными)

6. связь с пользователем

7. средства буферизации данных

8. обеспечение теледоступа

9. контроль достоверности данных

В различных СУБД все эти функции реализованы по-разному.

Компоненты СУБД:

10. Ядро, которое позволяет обеспечить функционирование других компонент

11. средства для разработки БД (типа конструктора БД), позволяет создавать таблицы

12. средства для модификации структуры БД

13. средства для оптимизации программирования (конструктор запросов, мастер запросов, форм, отчетов)

14. отладчик

15. генератор (API) приложений

16. обучающая программа +примеры

17. библиотека функций

18. язык запросов

19. компилятор

Все эти компоненты есть в Clarion, но она не очень удобная, т.к. требует тщательного изучения.

Выделяется на этом фоне Access, удобная, т.к. понятная и рассчитана не на программистов.