Я щойно провів T-SQL-запит через DTA, і одна з рекомендацій - СТВОРИТИ СТАТИСТИКУ на одному з стовпців, який є частиною багатьох запитів у файлі коду SQL.
Моє запитання: як саме статистика сприяє ефективності?
Я щойно провів T-SQL-запит через DTA, і одна з рекомендацій - СТВОРИТИ СТАТИСТИКУ на одному з стовпців, який є частиною багатьох запитів у файлі коду SQL.
Моє запитання: як саме статистика сприяє ефективності?
Відповіді:
статистика використовується при створенні плану виконання запитів.
Статистика для оптимізації запитів - це об'єкти, які містять статистичну інформацію про розподіл значень в одному або декількох стовпцях таблиці або індексованого виду. Оптимізатор запитів використовує ці статистичні дані для оцінки кардинальності чи кількості рядків у результаті запиту. Ці оцінки кардинальності дозволяють оптимізатору запитів створити якісний план запитів. Наприклад, оптимізатор запитів може використовувати оцінки кардинальності для вибору оператора пошуку індексу замість більш оперативного ресурсу оператора сканування індексу і тим самим покращувати продуктивність запитів.
Докладнішу інформацію див. У розділі http://msdn.microsoft.com/en-us/library/ms190397.aspx .
Якщо DTA рекомендував статистику одного стовпця, у вас має бути вимкнено автоматичне створення статистики? Автоматичне створення автоматично створить статистику на будь-якому стовпчику, який використовується в предикаті, автоматично, тому загалом є гарною ідеєю залишити його увімкненим. Перевірте стан автоматичного оновлення цієї бази даних, яка, як правило, знову має бути включена.
Одне з найкращих застосувань DTA - це визначення відсутніх статистичних даних про багато стовпців, автоматичне створення яких не створюється. Але для одного стовпця автоматичне створення повинно піклуватися про них за вас.