Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


—татистики и информаци€ об отсутствующих индексах и




»сполнению запроса компонентом Database Engine предшествует его анализ оптимизатором запросов, с целью определени€ наиболее эффективного дл€ конкретного услови€ фильтра способа извлечени€ запрошенных данных. ѕомимо самого запроса оптимизатором запросов используетс€ схема базы данных (определени€ таблиц и индексов) и статистики базы данных.

ѕлан выполнени€ запроса задает:

Ј ѕоследовательность, в которой происходит обращение к исходным таблицам.

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

Ј ћетоды, используемые дл€ извлечени€ данных из каждой таблицы.

≈сть различные методы дл€ обращени€ к данным в каждой таблице. Ќапример, если необходимы только несколько строк с определенными ключевыми значени€ми, то Database Engine может использовать индекс. ≈сли необходимы все строки в таблице, то может быть выполнен полный просмотр таблицы, игнориру€ индексы. ≈сли необходимы все строки в таблице, но есть индекс, ключевые столбцы которого наход€тс€ в ORDER BY, то выполнение просмотра индекса вместо просмотра таблицы позволит избежать отдельный сортировки результирующего набора.

ќптимизатор запросов SQL Server основан на оценке стоимости.  аждому возможному плану выполнени€ соответствует некотора€ стоимость, определенна€ в терминах объема использованных вычислительных ресурсов. ќптимизатор запросов SQL Server выбирает план выполнени€, основыва€сь не только на самой низкой стоимости ресурсов - он выбирает такой план, который возвращает результаты пользователю за минимальное врем€ при разумной стоимости ресурсов. Ќапример, параллельна€ обработка запроса обычно использует больше ресурсов, чем его последовательна€ обработка, но завершает выполнение запроса быстрее. ќптимизатор SQL Server будет использовать параллельный план выполнени€ дл€ возврата результатов, если это не окажет негативного вли€ни€ на загрузку сервера.

ƒл€ оценки количества строк в результатах запроса и как следствие нагрузки на вычислительные ресурсы оптимизатор запросов полагаетс€ на статистику распределени€. —татистика - это объект, содержащие статистические сведени€ о распределении значений в одном или нескольких столбцах таблицы. Ќапример, оптимизатор запросов может использовать оценочное количество элементов, чтобы выбрать метод дл€ обращени€ к данным в таблице.

 аждый объект статистики создаетс€ дл€ списка из одного или нескольких столбцов таблицы и содержит гистограмму, в которой отображаетс€ распределение значений в первом столбце. ќбъекты статистики дл€ нескольких столбцов также хран€т статистические сведени€ о коррел€ции значений между столбцами. Ёти статистические данные коррел€ции называютс€ значени€ми плотности и получаютс€ из числа уникальных строк значений столбцов.

≈сли статистика индекса не €вл€етс€ актуальной, оптимизатор запросов, возможно, не сделает лучший выбор дл€ текущего состо€ни€ таблицы.

»спользование статистики на уровне базы данных контролируетс€ следующими параметрами, рассмотренными в модуле 2:

Ј AUTO_CREATE_STATISTICS

ќптимизатор запросов в случае необходимости создает статистику по отдельным столбцам в предикатах запросов, чтобы улучшить планы запросов и повысить производительность запросов.

Ј AUTO_UPDATE_STATISTICS

”казывает, что оптимизатор запросов обновл€ет статистику, если она используетс€ в запросе и может оказатьс€ устаревшей. —татистика становитс€ устаревшей, после того как операции вставки, обновлени€, удалени€ или сли€ни€ измен€ют распределение данных в таблице.

Ј AUTO_UPDATE_STATISTICS_ASYNC

”казывает, что запросы, которые запускают автоматическое обновление устаревшей статистики, не будут ожидать обновлени€ статистики перед компил€цией. ѕоследующие запросы будут использовать обновленную статистику, когда она будет доступна.

 

ѕомимо статистик дл€ оптимизации запросов используетс€ информаци€ об индексах. ѕри анализе списка запрашиваемых столбцов и пор€дка сортировки оптимизатор запросов ищет наиболее подход€щие индексы дл€ ускорени€ обработки запроса и снижени€ нагрузки на вычислительные мощности сервера. ≈сли наиболее подход€щие индексы не существуют, оптимизатор запросов формирует близкий к оптимальному план запроса, при этом он сохран€ет сведени€ об отсутствующих индексах. ‘ункци€ отсутствующих индексов позвол€ет получить сведени€ об этих индексах, и решить, стоит ли их создавать в базе данных или нет.

 





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2016-11-22; ћы поможем в написании ваших работ!; просмотров: 450 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ћогика может привести ¬ас от пункта ј к пункту Ѕ, а воображение Ч куда угодно © јльберт Ёйнштейн
==> читать все изречени€...

522 - | 533 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.008 с.