Поиск по сайту:

Девиз исследовательской лаборатории: "О том, над чем мы работаем сегодня, другие подумают только завтра". (Алан.Дж.Перлис)

В чем разница между статическим и динамическим SQL?

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
21 марта 2021
Как найти неиспользуемые индексы в базе данных MySQL?
Многие люди используют базы данных, но на самом деле они не понимают разницы между статическим и динамическим SQL. Их цель – получить статический или динамический вывод запроса. В этой статье вы узнаете о статических и динамических SQL-запросах с подробным обсуждением того, как обрабатывается SQL-запрос, динамической СУБД (система управления базами данных), статическими и динамическими отчетами и примером приложения со встроенным SQL.

 

Что такое встроенный SQL?

Запросы встроенного или статического SQL – это те инструкции, которые не изменяются во время выполнения или во время выполнения и могут быть жестко закодированы (где данные или параметры не могут быть изменены) в различных приложениях.

 

Встроенное приложение SQL

Рассмотрим пример встроенного приложения, в котором операторы в основном встроены в исходные файлы C++, где препроцессор переводит операторы в вызовы библиотеки времени выполнения. Он переносится в другие среды и предоставляет те же функции для каждой операционной среды.

В чем разница между статическим и динамическим SQL?

 

Приложение встроенного SQL состоит из операторов SQL, и эти операторы перед компиляцией преобразуются в код C или C++. Как видно на диаграмме, приложение во время выполнения использует библиотеку интерфейса SAP IQ, которая известна как DBLIB и используется для связи с серверами баз данных. DBLIB – это библиотека динамической компоновки (DLL), которая может использоваться на всех основных платформах.

 

Что такое динамический SQL?

Как видно из названия, это метод, который позволяет профессионалам создавать операторы SQL, которые можно динамически изменять во время выполнения. Динамический запрос – это оператор, который может быть создан во время выполнения или во время выполнения; например, приложение может позволять пользователям запускать свои собственные запросы при исполнении.

 

Что такое динамическая система управления базами данных?

Динамическая СУБД – это база данных, имеющая «основанные на значениях» отношения объектов, которые указываются во время извлечения, а местоположения связанных записей обнаруживаются во время извлечения.

 

Какое из следующих утверждений о статических и динамических отчетах неточно?

Печатный анализ продаж – это пример динамического отчета – неверное утверждение о статических и динамических отчетах. Следующие утверждения об отчетах верны:

  • Статические отчеты публикуются в виде PDF-документов или документов Business Intelligent (BI), которые фиксируются на момент создания, поэтому эти отчеты не изменяются.
  • Для публикации динамического отчета требуются приложения Business Intelligent (BI) с доступом к источнику данных при его доставке пользователю.
  • Всегда помните, распечатанный анализ продаж – это пример статических отчетов.
  • Динамические отчеты – это документы Business Intelligent (BI), которые обновляются каждый раз, когда пользователь запрашивает этот файл.
Читать  Количество совпадающих записей с COUNT в MySQL

 

Как обрабатывается оператор SQL?

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

 

1. Оператор синтаксического анализа

Например, пользователь хочет выполнить следующий запрос:

SELECT P, Q, R
FROM A, B
WHERE P> 800
AND R = ‘XYZ’

 

СУБД проанализирует запрос на отдельные слова, известные как токены, чтобы убедиться, что оператор не содержит орфографических и синтаксических ошибок. Это будет сделано очень быстро, потому что нет необходимости обращаться к базе данных во время синтаксического анализа оператора.

 

2. Подтвердите заявление

Система управления базой данных будет проверять, существуют ли таблицы (в нашем примере таблицы A и B) в базе данных (системном каталоге) или нет? Есть ли у пользователя права запускать эти операторы? СУБД проверяет, что имена столбцов не являются двусмысленными и существуют.

 

3. Оптимизировать заявление

СУБД оптимизирует оператор, исследуя различные способы. Можно ли использовать индекс (первичный ключ) для ускорения поиска? Должна ли система управления базами данных сначала применить условие поиска к первой таблице, а затем присоединить его ко второй таблице, или она должна начинаться с объединения и затем использовать условие? После изучения всех возможных условий СУБД выберет наиболее подходящее. Он может исследовать тысячи возможных различных способов для одного и того же запроса, поэтому это процесс, требующий интенсивной работы ЦП.

 

4. План доступа или двоичная форма

На этом этапе будет сгенерирован план доступа или двоичная форма операторов SQL.

 

5. Выполнение плана доступа

На последнем этапе план доступа будет выполнен.

Основные различия между встроенным и динамическим SQL

Статический Динамический
В статическом или встроенном SQL способ доступа к базе данных предопределен во встроенном операторе SQL и выполняется препроцессором, где пользователь не может выполнять запросы во время выполнения. Как будет осуществляться доступ к базе данных, определяется во время выполнения, и пользователь также может выполнять инструкции языка структурированных запросов во время выполнения.
Это быстрее и эффективнее. Это менее быстро и эффективно.
Все запросы к базе данных компилируются во время компиляции. Все запросы к базе данных компилируются во время выполнения приложения.
Все процессы, включая анализ, проверку, оптимизацию и создание плана доступа к приложению, выполняются во время компиляции. Все процессы, включая синтаксический анализ, проверку, оптимизацию и создание плана доступа к приложению (двоичная форма SQL-запросов), выполняются во время выполнения.
В основном он используется в ситуациях, когда данные распределяются последовательно. Он используется в ситуациях, когда данные распределены неравномерно.
Операторы PREPARE, EXECUTE и EXECUTE IMMEDIATE не используются. Используются операторы PREPARE, EXECUTE и EXECUTE IMMEDIATE.
Он менее гибкий из-за того, что он жестко встроен в приложение. Мы можем запускать наши операторы SQL во время выполнения, что делает его более гибким.

Читать  SQL Developer JDK

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
0 0 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close