Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
А почему после пересоздания индекса все стало гораздо лучше ???
Объясните мне, я не понимаю.

Да, и как делать дефрагментацию таблицы ?

Glory
Andrey Sobolev
Это точно не известно, но в данном случае через каждые 70 000 записей.

WBR
Andrey V. Sobolev

При таком количестве значений invoiceID = 63688 Index Seek+Bookmark Lookup это лучшее что может предпринять сервер


Т.е. при Bookmark-е серверу нужно загрузить страницы с записями гдe еmploymentID имеет значения к примеру 1, 70001, 140001, 210001 и 280001
По грубым прикидкам у вас на станицу помещается около 70 записей. Т.е. серверу нужно будет читать 1-ю, 1000-ю, 2000-ю, 3000-ю и 4000-ю страницы данных таблицы.
Имхо
Проверяейте дефрагментацию таблицы.
10 июн 05, 14:23    [1613636]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
А почему после пересоздания индекса все стало гораздо лучше ???
Вы не привели плана
10 июн 05, 14:25    [1613652]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
guest00x
Index Scan > Index Seek

Я так понял у него seek и остался:
Andrey Sobolev
Roman S. Golubin
После пересоздания индекса план выполнения запроса не изменился?
Нет, такой и остался.
10 июн 05, 14:27    [1613669]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
Вот еще раз после пересоздания:
StmtText                                            
--------------------------------------------------- 
select * from Employment where invoiceID = 63688

(1 row(s) affected)

StmtText                                                                                                                               
-------------------------------------------------------------------------------------------------------------------------------------- 
  |--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([Uralsib].[dbo].[Employment]))
       |--Index Seek(OBJECT:([Uralsib].[dbo].[Employment].[XIF228Employment]), SEEK:([Employment].[invoiceID]=63688) ORDERED FORWARD)
WBR
Andrey V. Sobolev
10 июн 05, 14:30    [1613681]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey Sobolev
Вот еще раз после пересоздания:

У вас обсолютно одинаковые планы.
10 июн 05, 14:32    [1613695]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
Glory
У вас обсолютно одинаковые планы.
Об этом было сказано уже целую страницу назад.

2Andrey Sobolev:
select @@version
10 июн 05, 14:38    [1613723]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
Я про это и говорю!
Скорость выполнения изменилась. На картинке видно как изменился Bookmark Lookup.
Почему ?
План одинаков, данные одинаковы, запрос одинаков. А стоимость разная...

WBR
Andrey V. Sobolev

К сообщению приложен файл. Размер - 0Kb
10 июн 05, 14:38    [1613726]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
Glory
Проверяейте дефрагментацию таблицы.

Простите, что встрял, но как это делается?
10 июн 05, 14:40    [1613732]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
M0us
Member

Откуда: Moscow
Сообщений: 883
Glory
[quot Andrey Sobolev]Проверяейте дефрагментацию таблицы.

Простите, что встрял, но как это делается?
10 июн 05, 14:41    [1613738]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
2Andrey Sobolev
Привидете лучше планы в текстовом виде.
Надеюсь кэш данных вы между зарусками очищаете ?

2M0us
DBCC SHOWCONTIG
DBCC INDEXDEFRAG
10 июн 05, 14:45    [1613749]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
ChA
Member

Откуда: Москва
Сообщений: 11124
Andrey Sobolev
План одинаков, данные одинаковы, запрос одинаков. А стоимость разная...
Только как версия, в первом случае данные или индекс придется считывать в память с диска, во втором случае - уже. Возможно, оптимизатор учитывает это. Это у вас оценочные планы ? Или рабочие ?
10 июн 05, 14:47    [1613760]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
Планы в тексте одинаковые!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Это уже оговорено несколько раз Ё!!!!!!!!!!!!!!!!

Microsoft SQL Server  2000 - 8.00.878 (Intel X86) 
	Nov 11 2003 13:37:42 
	Copyright (c) 1988-2003 Microsoft Corporation
	Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
WBR
Andrey V. Sobolev
10 июн 05, 14:47    [1613761]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
Планы в тексте одинаковые!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Текстовый план смотреть и сравнивать легче - это вы понимаете ?
10 июн 05, 14:50    [1613773]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
А что их сравнивать, если они одинаковые
Ок, уговорили :)
Было:
StmtText                                            
--------------------------------------------------- 
select * from Employment where invoiceID = 63688

(1 row(s) affected)

StmtText                                                                                                                               
-------------------------------------------------------------------------------------------------------------------------------------- 
  |--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([Uralsib].[dbo].[Employment]))
       |--Index Seek(OBJECT:([Uralsib].[dbo].[Employment].[XIF228Employment]), SEEK:([Employment].[invoiceID]=63688) ORDERED FORWARD)

Стало:
StmtText                                            
--------------------------------------------------- 
select * from Employment where invoiceID = 63688

(1 row(s) affected)

StmtText                                                                                                                               
-------------------------------------------------------------------------------------------------------------------------------------- 
  |--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([Uralsib].[dbo].[Employment]))
       |--Index Seek(OBJECT:([Uralsib].[dbo].[Employment].[XIF228Employment]), SEEK:([Employment].[invoiceID]=63688) ORDERED FORWARD)
WBR
Andrey V. Sobolev
10 июн 05, 14:53    [1613798]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
Glory
Текстовый план смотреть и сравнивать легче - это вы понимаете ?


Он это понимает. И в топике оба плана в текстовом виде уже есть :

Bookmark Lookup

Bookmark Lookup
10 июн 05, 14:55    [1613809]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
Roman S. Golubin
Glory
Текстовый план смотреть и сравнивать легче - это вы понимаете ?


Он это понимает. И в топике оба плана в текстовом виде уже есть :


Планы в текстовом виде у автора предварительные. Ибо в них отсутствует стомотсть шагов. А в картинку он все время тычет про цифры стоимости.
Кстати цифры стоимости внутри одного запроса это только относительно данного запроса. А не всего бэтча
10 июн 05, 15:04    [1613858]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
Glory, что нужно нажать, чтобы я получил план в необходимом виде ?
Кстати, эти планы по Выполненному запросу! В QA я поставил галочку "Показать Execution Plan".

WBR
Andrey V. Sobolev
10 июн 05, 15:12    [1613918]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
Glory
Планы в текстовом виде у автора предварительные. Ибо в них отсутствует стомотсть шагов. А в картинку он все время тычет про цифры стоимости.

И как ты себе представляешь ему теперь получить первый план (с кривым индексом)? Поднимать базу из бэкапа?
10 июн 05, 15:22    [1613975]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
Andrey Sobolev
План одинаков, данные одинаковы, запрос одинаков. А стоимость разная...


Если внимательно посмотреть на картинки, которые ты привел...

предполагаемое количество строк:
1 запрос 114
2 запрос 5

Похоже что при создании индекса просто обновилась статистика.
10 июн 05, 15:31    [1614018]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
114/20 ~20 раз. Я бы понял, если бы и стоимость запросов тоже стала бы в 20 раз болше, а у меня в 1425 раз !
Как это объяснить ?

WBR
Andrey V. Sobolev
10 июн 05, 15:53    [1614120]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
DBCC SHOWCONTIG
DBCC INDEXDEFRAG
относится к индексам, а Вы говорили про дефрагментацию таблиц.
Как это выполнить ? Поиск по форму дал только ответ как дефрагить индексы..

Glory
2Andrey Sobolev
Привидете лучше планы в текстовом виде.
Надеюсь кэш данных вы между зарусками очищаете ?

2M0us
DBCC SHOWCONTIG
DBCC INDEXDEFRAG
10 июн 05, 15:55    [1614126]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
Andrey Sobolev
DBCC SHOWCONTIG
DBCC INDEXDEFRAG
относится к индексам, а Вы говорили про дефрагментацию таблиц.
Как это выполнить ? Поиск по форму дал только ответ как дефрагить индексы..

Glory
2Andrey Sobolev
Привидете лучше планы в текстовом виде.
Надеюсь кэш данных вы между зарусками очищаете ?

2M0us
DBCC SHOWCONTIG
DBCC INDEXDEFRAG


DBCC INDEXDEFRAG
Defragments clustered and secondary indexes of the specified table or view.
10 июн 05, 15:56    [1614135]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Andrey Sobolev
Member

Откуда: Москва
Сообщений: 416
Зачем вы мне говорите про индексы, я знаю теперь как это делается.
Вы написали про дефраг ТАБЛИЦ:
Glory
Andrey Sobolev
Это точно не известно, но в данном случае через каждые 70 000 записей.

WBR
Andrey V. Sobolev

При таком количестве значений invoiceID = 63688 Index Seek+Bookmark Lookup это лучшее что может предпринять сервер


Т.е. при Bookmark-е серверу нужно загрузить страницы с записями гдe еmploymentID имеет значения к примеру 1, 70001, 140001, 210001 и 280001
По грубым прикидкам у вас на станицу помещается около 70 записей. Т.е. серверу нужно будет читать 1-ю, 1000-ю, 2000-ю, 3000-ю и 4000-ю страницы данных таблицы.
Имхо
Проверяейте дефрагментацию таблицы.

Как дефрагменитровать ТАБЛИЦУ, а не индекс ??????
10 июн 05, 16:06    [1614180]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
Как дефрагменитровать ТАБЛИЦУ, а не индекс ??????
А вы знаете, что такое кластерный индекс ?
10 июн 05, 16:07    [1614186]     Ответить | Цитировать Сообщить модератору
 Re: Bookmark Lookup  [new]
Glory
Member

Откуда:
Сообщений: 104760
К тому же немешадл бы сначала проверить есть ли дефрагментация
10 июн 05, 16:08    [1614189]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить