Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос о гистограмме / 9 сообщений из 9, страница 1 из 1
30.04.2019, 18:51
    #39808512
KnyaZz_EU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
Добрый день.

Объясните пожалуйста. Допустим есть хранимая процедура в ккоторой есть стобец CountryID который передаётся в качестве парметра.

Можно ли как то проверить из гистограммы, что хранимая процедура будет выполняться для разных значений CountryID?

Допустим гистограмма следующего вида:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Range_Hi_Key      Range_Rows    EQ_Rows    DISTINCT_RANGE_ROWS    AVG_RANGE_ROWS

        1           0              1                   0                   1    

        2           0            3456                  0                   1

        3           0            2537                  0                   1
 
        4           0            93481                 0                   1
...
Рейтинг: 0 / 0
30.04.2019, 18:53
    #39808514
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
Что за лють я только что прочитал?
...
Рейтинг: 0 / 0
30.04.2019, 18:54
    #39808515
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
Мутновато - это слабо сказано.
...
Рейтинг: 0 / 0
30.04.2019, 19:22
    #39808539
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
KnyaZz_EU,

План выполнения процедуры построится один раз - при первом её вызове, для того значения параметра, что прилетит в первое же выполнение. Если хотите "персональный план" под каждое значение входного параметра, то recompile вам в помощь.
...
Рейтинг: 0 / 0
30.04.2019, 20:20
    #39808572
KnyaZz_EU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
Может я неверно выразился...

Это гистрограмма для столбца CountryID.
Как можно ожидать, что хранимые процедуры для этой таблицы будут выполняться для различных значений CountryID, когда он передается в качестве параметра?
...
Рейтинг: 0 / 0
30.04.2019, 20:54
    #39808579
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
KnyaZz_EUКак можно ожидать ... ... ?Ожидать можно как угодно: можно сидя, можно лёжа. Тут всё зависит от ваших предпочтений ...


З.Ы.
Попробуйте ещё раз сформулировать свою мысль. Или перечитайте мой первый ответ. Или вы совсем не про это хотели поинтересоваться?
...
Рейтинг: 0 / 0
30.04.2019, 21:33
    #39808592
KnyaZz_EU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
Ваш ответ помог на самом деле. Но я другое имел ввиду. Я хотел узнать, можно ли из гистограммы понять, что процедура будет выполняться для разных значений параметра...
Ладно, бог с ним
...
Рейтинг: 0 / 0
30.04.2019, 23:57
    #39808616
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
KnyaZz_EU,

вы неверно формулируете вопрос.

гистограмма статистики нужна для оценки количества строк для предикатов в используемых в запросах, на основании этих значений будет построен план выполнения запроса.


в вашем случае:
если таблица к примеру имеет такой вид
Код: sql
1.
2.
3.
4.
5.
create table [country] (
[country_id] int,
[name] varchar(255),
index ix clustered [country_id] asc
);


если хранимка выглядит к примеру так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create proc sp_country
@country_id int
with recompile
as
select * from [country] where [country_id] = @country_id;
[src]

для запуска процедуры с параметром 
[src]
 exec sp_country @country_id = 1


-будет получен план запроса где скорее всего будет поиск по индексу

а для вызова:
Код: sql
1.
exec sp_country @country_id = 4

--будет выбрано сканирование индекса

все это образно "на пальцах"
...
Рейтинг: 0 / 0
01.05.2019, 00:31
    #39808627
KnyaZz_EU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о гистограмме
Спасибо, разобрался
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос о гистограмме / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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