Jump to content

Переписывание запроса

(Перенаправлено из переписывания запросов )

Переписывание запросов — это, как правило, автоматическое преобразование, которое принимает набор таблиц базы данных , представлений и/или запросов , обычно индексов , часто собранных данных и статистики запросов, а также других метаданных , и дает набор различных запросов, которые дают одни и те же результаты, но выполняться с более высокой производительностью (например, быстрее или с меньшим использованием памяти). [1] Переписывание запросов может быть основано на реляционной алгебре или ее расширении (например, реляционная алгебра мультимножеств с сортировкой, агрегированием и трехзначными предикатами, т. е. NULL, как в случае с SQL ). структуры и Используются правила эквивалентности реляционной алгебры, иными словами, можно математически доказать, что разные запросов порядки дают один и тот же результат. Например, фильтрацию по полям A и B или перекрестное объединение R и S можно выполнять в любом порядке, но производительность может отличаться. Несколько операций могут быть объединены, а порядок операций может быть изменен.

Результат перезаписи запроса может не находиться на том же уровне абстракции или интерфейсе прикладного программирования (API), что и исходный набор запросов (хотя часто это так). Например, входные запросы могут быть в реляционной алгебре или SQL, а переписанные запросы могут быть ближе к физическому представлению данных, например операции с массивами. Переписывание запроса также может включать материализацию представлений и других подзапросов; операции, которые могут быть доступны или не доступны пользователю API. Преобразованию переписывания запроса можно помочь, создав индексы, из которых оптимизатор может выбирать (некоторые системы баз данных создают свои собственные индексы, если считают это полезными), предписав использовать определенные индексы, создав материализованные и/или денормализованные представления или помогая системе баз данных собирать статистика использования данных и запросов, поскольку оптимальность зависит от закономерностей в данных и типичного использования запросов.

Переписывание запроса может быть основано на правилах [2] или на основе оптимизатора. В некоторых источниках переписывание запросов рассматривается как отдельный шаг перед оптимизацией, работающий на уровне доступного пользователю алгебраического API (например, SQL). [ нужна ссылка ]

Существуют и другие, во многом несвязанные между собой понятия, также называемые аналогично, например, переписывание запросов поисковыми системами . [3]

См. также [ править ]

Ссылки [ править ]

  1. ^ Василакопулос, Майкл; Цураманис, Теодорос; Терензиани, Паоло; Патель, Чинтан; Вэн, Чуньхуа; Ромеро, Рафаэль; Масон, Хосе-Норберто; Трухильо, Хуан; Серрано, Мануэль; Пьяттини, Марио; Бурагохайн, Чиранджиб; Сури, Субхаш; Чжу, Синцюань; Риш, Торе; Бу, Инъи; Чи-Винг Вонг, Раймонд; Фу, Ада Вай-Чи; Чиркова, Рада; Гупта, Амарнатх; Вечтомова Ольга; Он, Бен; Риш, Торе; Тата, Сандип; Патель, Джигнеш М.; Лакруа, Зоэ; Буганим, Люк; Питура, Евагелия; Нойманн, Томас; Тан, Киан-Ли; и др. (2009). «Переписывание запроса». Энциклопедия систем баз данных . стр. 2308–2309. дои : 10.1007/978-0-387-39940-9_863 . ISBN  978-0-387-35544-3 .
  2. ^ Пирахеш, Хамид; Хеллерстайн, Джозеф М. «Расширяемая оптимизация перезаписи запросов на основе правил в Starburst» . Проверено 6 апреля 2020 г.
  3. ^ Уильямс, Хью Э. (20 марта 2012 г.). «Переписывание запросов в поисковых системах» . Хью Э. Уильямс . Проверено 6 апреля 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 25ba21654d93930df1a1c28c8d1dd466__1668105600
URL1:https://arc.ask3.ru/arc/aa/25/66/25ba21654d93930df1a1c28c8d1dd466.html
Заголовок, (Title) документа по адресу, URL1:
Query rewriting - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)