ПредишенСледващото

В предишната глава, вие научихте как да извлечете обобщена информация за данните, съхранявани в базата данни. SQL Server може да се върне на резултатите, включително и обобщена информация бързо и ефективно, ако данните са правилно съхранявани в базата данни. Тази глава обяснява различните начини за съхраняване и извличане на данни в SQL Server. и обяснява какво трябва да се разглеждат фактори при разработването на база данни. за да се постигне най-ефективно изпълнение на SQL Server.

планове за заявки

Когато SQL Server изпълнява сървъра за запитване. първо трябва да се определи най-добрият начин да се изпълни. За да направите това, вие трябва да разберете как и в какъв ред за достъп до данните и да ги свърже, как и кога да се извърши изчислението и обобщаването, и така нататък. Г. е отговорен за тази подсистема, която се нарича Query Optimizer (заявка оптимизатор). оптимизатора на заявки използва статистиката за разпространението на данни, метаданни. отнасящи се до обектите в базата данни, индекс информация и от други фактори, за да се изчисли броят на възможните планове за изпълнение на заявка. За всеки един от тези планове, оптимизатора на заявки, тя приема, въз основа на статистически данни за стойността на тези данни и избира плана с минимален разход на ресурси за изпълнение. Разбира се, SQL Server не изчислява всички възможни планове за всяко искане, тъй като за някои заявки тези изчисления могат сами да отнеме повече време от извършване на най-малко ефективна от всички планове. Ето защо, SQL Server използва сложни алгоритми, за да се намери план за изпълнение на разумна цена, в близост до възможния минимум. След се генерира план за изпълнение, тя се съхранява в кеш буфер (по този SQL Server заделя-голямата част от виртуалната памет). След това планът се извършва по начин, който оптимизатора на заявки информира машината на базата данни (двигател компонент на базата данни).

Направи Запитване Optimizer може (заявка оптимизатор) за генериране на ефективен план за конкретна заявка зависи от следните аспекти:

  • Индекси. Подобно на индекса в книга, индекс на база данни ви позволява бързо да намирате конкретни редове в таблицата. Маса може да има повече от един индекс. Поради наличието в таблицата с индекс, заявка оптимизатор SQL Server може да оптимизира достъпа до данни, да избере да използва подходящ индекс. Ако няма индекс, заявката за оптимизатор е само една опция, която е да се сканира всички налични в таблицата данни, в търсенето на прав път. По-късно в тази глава се предоставя информация за това как да работят на индексите и как те се развиват и дизайн.
  • статистики за разпределение на данни: SQL Server поддържа статистика за разпределението на данните. Ако тези статистически данни липсват или са остарели, оптимизатора на заявки няма да може да се изчисли ефективен план за изпълнение. В повечето случаи, статистиката се генерират и актуализират автоматично. По-късно в тази глава описва как да се генерира статистика и как можете да управлявате статистика.

Както можете да видите, генерирането на плана за заявка - е функция. Важно е за изпълнение на SQL Server. защото ефективността на плана за изпълнение на заявката определя дали времето за изпълнение се измерва в милисекунди, секунди или дори минути. Критерии за планове за изпълнение, които показват ниска степен на изпълнение, могат да бъдат анализирани, за да се определи дали индексът е на разположение. Дали статистически данни са остарели или просто са избрали SQL Server не е най-ефективният план (това не се случва много често).

Въведение в заявка планове за изпълнение на

  • За да се покаже плана за изпълнение на заявката, натиснете клавишната комбинация (Ctrl + L) или изберете от Очаквано изпълнение Плана за меню Query (заявка) команда Display (Дисплей Очаквано изпълнение Plan). Планът за изпълнение е показано на следващата фигура.

    При генериране на предполагаемото искане на плана за заявка не е извършена услугата. Той оптимизира само оптимизатора на заявки. Тази функция на оптимизатора на заявки е предимство, когато се занимават с разследвания, които имат дълги работни цикли. защото, за да видим плана за изпълнение на заявка, че не е необходимо да се извърши на запитването. Графично представяне на плана за изпълнение на заявката се чете от дясно на ляво и от горе до долу. Всяка икона е от гледна точка на един оператор, както и данните, които могат да се променят между операторите, посочени от стрелките. Дебелината на стрелките съответства на количеството данни, които се предават между операторите. Ние няма да навлизаме в подробности и да обясни значението на всеки оператор; Ние говорим само за тези, които са показани в плана за изпълнение на заявка.

    Свързани статии

  • Подкрепете проекта - споделете линка, благодаря!