Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Артемов Д.В. -> "Microsoft SQL Server 2000" -> 82

Microsoft SQL Server 2000 - Артемов Д.В.

Артемов Д.В. Microsoft SQL Server 2000 — М.: Издательско-торговый дом «Русская Редакция», 2001. — 576 c.
ISBN 5-7502-0154-6
Скачать (прямая ссылка): artemov.pdf
Предыдущая << 1 .. 76 77 78 79 80 81 < 82 > 83 84 85 86 87 88 .. 187 >> Следующая

S
Nested luaps
Inner Join
OUTER REFERENCES: ([titlea

А-
i --
tream АдзЕе^асеi .
. 10 9
S
3CCcMtI Aggregate Aggregate
GROUP BY: ( [titleeuthor] . [¦

T
j I
!--Clustered In.
. io io
9
Clustered Inden
Scan Clustered I
nden 3can 0BJICT; ([pubs] . [clbo] . [tit

V
I __
1U3"Ced Ind" S'
. 10 12
S
Clustered Index
Seek Clustered I
ndeK 3aek OBJECT: i [ риЬэ] . [dbo] . [aut;

Рис. 3-26. Текстовое представление плана исполнения запроса занимает довольно много места, зато посмотреть значения индивидуальных полей Вы можете без мыши, а иерархическая форма представления дает достаточно хорошее отображение процесса.

Прямо из панели с графическим планом исполнения можно получить доступ к списку индексов и статистике таблиц, участвующих в запросе. Как ни странно, но разработчики решили организовать доступ к этой информации из графического плана исполнения. Введите некоторый запрос, нажмите Ctrl+ L и щелкните правой кнопкой один из символов, изображающих работу с таблицами или индексами (обычно с них начинается диаграмма). В контекстном меню две команды: Manage Indexes и Manage Statistics, открывающих то или иное диалоговое окно. Так как догадаться о подобной возможности довольно трудно, в версии 8.0 аналогичные команды доступны из основного меню Tools.

www.books-shop.com

ГЛАВА 3: Управление базами данных

225

іж'*т* : : "™ " ™~~ ~~~~ ' 33

--.и-ьдг ¦¦ — — — ¦ — - ¦Рис. 3-27. Диалоговое окно управления индексами. Точно такое же доступно и из административной консоли.

Стоит ли вручную управлять статистикой? По ситуации. Вообще-то сервер сам способен определить, создавать ли статистическую выборку, и выполнить все необходимые действия. Если Вы откроете диалоговое окно, после того как БД была некоторое время хотя бы под тестовой нагрузкой, я практически могу гарантировать, что в списке объектов, выводимых при использовании процедуры sphelp-index, будет строка, начинающаяся с чего-нибудь похожего на _WA_ Sys_au_fname_07020F21. Это и есть статистический набор, автоматически создаваемый сервером. Хотя он и отображается вместе с «нормальными» индексами, это та же статистика, известная нам по предыдущим версиям сервера. Ну, почти та же. Теперь размер статистической выборки можно указывать при ее создании. Таблицы размером менее 8 Мб сервер всегда сканирует полностью. В остальных случаях Вы контролируете ситуацию. Создание статистики вручную выполняется командой CREATE STATISTICS. Объем статистической выборки теперь не ограничен только одной страницей (Distribution page), как в предыдущей версии. Кроме того, статистика может быть создана как на индексированньгх, так и на неиндексированньгх полях. Это позволяет использовать компромиссные подходы с применением комбинации индексов и статистики. В целом версия 8.0 обладает значительной автономией, так как позволяет выполнять авто-

Данная версия книги выпущена электронным издательством "Books-shop". Распространение, продажа, перезапись данной книги или ее частей ЗАПРЕЩЕНЫ. О всех нарушениях просьба сообщать по адресу piracy@books-shop.com

226

Microsoft SQL Server 2000, Новейшие технологии

матическое создание и обновление статистических выборок. Включает/отключает режим автоматического обновления статистики процедура spautostats. Чтобы определить, не пора ли обновить статистику, сервер контролирует объем изменений, сделанных над полями из состава индексного ключа или для которых собиралась статистика. Эта информация хранится в поле rowmodctr таблицы Sysindexes. Каждый раз после обновления статистического набора значение этого поля меняется на 0. Кстати, теперь статистику можно строить и для представлений.

Рис. 3-28. Диалоговое окно управления статистикой. Это единственное место, откуда можно до нее добраться.

Все вроде хорошо, только теперь у нас нет графического интерфейса, позволяющего увидеть шаги распределения (Distribution Steps). Получить эту информацию позволяет многомудрая DBCC с параметром SHOW_STATISTICS.

Если для таблицы Orders БД NOrth Wind мы создадим статистическую выборку по трем полям:

CREATE STATISTICS [оrdersStat] ON [dbo], [Orders] ([OrderlD], [CustomerlD], [EraployeelD])

и выполним команду DBCC SHOW_STATISTICS ('Orders', 'Orders-Stat'), то получим:

Statistics for collection 'OrdersStat'.

www.books-shop.com

ГЛАВА 3: Управление базами данных 227

Updated Rows

Дата Число

обновления записей в таблице

Jul 28 2000 830

9:06РМ

Rows Sampled Steps

Число записей, Число

отобранных для шагов получения статистики

830 3

Density Average key length

Плотность Средняя длина ключа

1.2048193 18.0 E-3

All density
Average Length
Columns

Плотность
Средняя длина поля
Столбцы

1.2048193Е-3
4.0
OrderID

1.2048193Е-3
14.0
OrderID, Customer! D

1.2048193Е-3
18.0
OrderID, CustomerID, EmployeeID

Как видите, таблица показывает избирательность (плотность) значений для всех возможных комбинаций ключевых полей.
Предыдущая << 1 .. 76 77 78 79 80 81 < 82 > 83 84 85 86 87 88 .. 187 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100