Классика баз данных - статьи

       

В большинстве баз данных обеспечивается


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

Явное выполнение запросов является прагматическим подходом к оптимизации поиска: сокращается число взаимодействий с базой данных и, кроме того, оптимизатору запросов обеспечивается больший простор для оптимизации. Конечно, от программистов требуется вручную создавать соответствующие запросы.

Оказывается также возможным определить программные конструкции, которые позволяют задавать критерии поиска с использованием стандартного синтаксиса булевских выражений, но выполнять поиска в виде запроса к базе данных. В расширении Linq языка C# этот метод используется для сборки запросов, посылаемых в базу данных [, ]. Добавляется новая конструкция итерации, похожая на оператор выборки языка SQL, для указания критериев, которые должны обрабатываться в удаленном режиме.

Стандартные конструкции итерации в AppleScript позволяют специфицировать критерии поиска в соответствии с объектной моделью удаленного приложения []. Результирующие критерии поиска передаются для эффективной обработки в удаленное приложение.

Существующий синтаксис может использоваться и для выражения запросов. В Safe Query Objects для определения запроса используется обычный булевский метод []. Запросы не выполняются в виде стандартного байт-кода, а преобразуются в запросы к базе данных и соответствующий интерфейсный код для вызова CLI базы данных.Поскольку до преобразования запросы подвергаются проверке типов, вызовы CLI не вызывают ошибки типов.


Содержание  Назад  Вперед