Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DBCC SHOWCONTIG / 17 сообщений из 17, страница 1 из 1
01.10.2002, 16:17:34
    #32054515
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Проверял работу команды DBCC SHOWCONTIG.


Запуск на некой таблице:

DBCC SHOWCONTIG scanning 'Users' table...
Table: 'Users' (772197801); index ID: 1, database ID: 8
TABLE level scan performed.
- Pages Scanned................................: 255
- Extents Scanned..............................: 36
- Extent Switches..............................: 252
- Avg. Pages per Extent........................: 7.1
- Scan Density [Best Count:Actual Count].......: 12.65% [32:253]
- Logical Scan Fragmentation ..................: 51.76%
- Extent Scan Fragmentation ...................: 97.22%
- Avg. Bytes Free per Page.....................: 2609.1
- Avg. Page Density (full).....................: 67.77%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.


Запуск на той же таблице после прогона DBCC INDEXDEFRAG:

DBCC SHOWCONTIG scanning 'Users' table...
Table: 'Users' (772197801); index ID: 1, database ID: 8
TABLE level scan performed.
- Pages Scanned................................: 210
- Extents Scanned..............................: 31
- Extent Switches..............................: 38
- Avg. Pages per Extent........................: 6.8
- Scan Density [Best Count:Actual Count].......: 69.23% [27:39]
- Logical Scan Fragmentation ..................: 3.33%
- Extent Scan Fragmentation ...................: 96.77%
- Avg. Bytes Free per Page.....................: 1433.3
- Avg. Page Density (full).....................: 82.29%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Запуск на той же таблице после удаления и создания CLUSTERED index'а:

DBCC SHOWCONTIG scanning 'Users' table...
Table: 'Users' (772197801); index ID: 1, database ID: 8
TABLE level scan performed.
- Pages Scanned................................: 174
- Extents Scanned..............................: 22
- Extent Switches..............................: 21
- Avg. Pages per Extent........................: 7.9
- Scan Density [Best Count:Actual Count].......: 100.00% [22:22]
- Logical Scan Fragmentation ..................: 0.00%
- Extent Scan Fragmentation ...................: 18.18%
- Avg. Bytes Free per Page.....................: 54.8
- Avg. Page Density (full).....................: 99.32%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.


Как видно, все в точности соответствует описанию Books Online: самый лучший эффект от
пересоздания кластерного индекса. Но есть и вопрос:

Extents Scanned = Actual Count + 1. Почему?
...
Рейтинг: 0 / 0
01.10.2002, 16:26:34
    #32054525
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Мля, ну почему мне такое не лезет в голову?
...
Рейтинг: 0 / 0
01.10.2002, 16:31:09
    #32054529
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
не понял я чегойто
Extents Scanned..............................: 22
- Scan Density [Best Count:Actual Count].......: 100.00% [22:22]
из чего 22 = 22+1????
...
Рейтинг: 0 / 0
01.10.2002, 16:44:08
    #32054534
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
2MiCe

Actual count is the actual number of extent changes.
Значит, Actual count = Extent Switches = 21
Но по факту Actual count = 22
...
Рейтинг: 0 / 0
01.10.2002, 16:55:07
    #32054540
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
имеем 3 точки на прямой...
спрашивается сколько получится отрезков?
2, а ни как не 3....
...
Рейтинг: 0 / 0
01.10.2002, 16:57:14
    #32054541
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
ну или имеем 10 ступенек...
сколко раз нужно шагнуть если
1 растояние между ступеньками 1 шаг
2 мы стоим на первой
3 нужно остановиться на последней...
...
Рейтинг: 0 / 0
01.10.2002, 17:00:08
    #32054543
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Я не про то как считать, а про то, почему цифры разнятся.
...
Рейтинг: 0 / 0
01.10.2002, 17:03:43
    #32054546
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Может для того, чтобы избежать деления на 0 при вычислении Scan Density?
...
Рейтинг: 0 / 0
01.10.2002, 17:28:01
    #32054559
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
ну блин....
имеем 22 экстента...
переключений между ними при сканировании в идельном случае будет 21....
и никак иначе....
...
Рейтинг: 0 / 0
01.10.2002, 17:37:02
    #32054564
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Я понимаю, что число переключений между n экстентами в идеальном случае будет n-1.
Только в данном случае это тоже не факт - экстенты могут быть "перемешаны" по страницам. Меня это не интересует. Меня интересует, почему разнятся
значения Actual count и Extent Switches. Вроде же сказано, что Actual count
НЕ есть число экстентов, а есть число переключений...
...
Рейтинг: 0 / 0
01.10.2002, 17:57:02
    #32054572
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
вообщето.... extent changes != Extent Switches
...
Рейтинг: 0 / 0
01.10.2002, 18:01:10
    #32054579
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Вот-вот. Я и жду объяснения - в чем различие.
...
Рейтинг: 0 / 0
01.10.2002, 18:13:24
    #32054590
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Actual count is the actual number of extent changes.
Actual count это реальное количество пройденных экстентов.....
в идеальном случае это и есть физическое количество экстэнтов....
допустим у нас есть только 2 экстэнта....
у нас есть 3 строки
1 строка в 1 экст.
2 строка во 2 экст.
3 строка опять в 1 экст..
при сканировании мы пройдем 3 экстента в такой последовательности
1-2-1
Extents Scanned -2
Extent Switches -2
Actual Count -3
...
Рейтинг: 0 / 0
01.10.2002, 18:18:33
    #32054594
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Извините, не убедили.

"Extent change" И "extent" - не одно и то же.

Кроме того, в Inside SQL Server 2000 нашел это:

Alternatively, you can use the value called Scan Density, which is computed by dividing the optimum number of extent switches by the actual number of extent switches.

Прямо не знаю...
...
Рейтинг: 0 / 0
01.10.2002, 18:42:54
    #32054605
Lexis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
попробую я
положи 22 спичечных коробка...каждый коробок - экстент
поставь палец на первый..и начни переходить на следующий..сколько будет переходов? 21 :)

т.е. коробок - excent scanned
extent switch - движение пальца
...
Рейтинг: 0 / 0
01.10.2002, 18:51:33
    #32054606
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
Ладно, вопрос снят. Недоросли еще.
...
Рейтинг: 0 / 0
01.10.2002, 19:07:41
    #32054610
Lexis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC SHOWCONTIG
-Average number of bytes free on each page (Avg. Bytes Free per Page)
-Number of pages accessed (Pages scanned)
-Number of extents accessed (Extents scanned)
-Number of times a page had a lower page number than the previous page in the scan (This value for Out of order pages is not displayed, but it is used for additional computations.)
-Number of times a page in the scan was on a different extent than the previous page in the scan (Extent Switches)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DBCC SHOWCONTIG / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]