Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как DROP AUTO STATISTICS ?  [new]
Alexander Kot
Member

Откуда: Kiev
Сообщений: 77
Всем день добрый,

Есть ли какой легальный стандартный путь удропать все авто статистики по таблице?
Или у кого скрипт подобный завалялся?

Нужно для:
1) Для выключения 'auto create statistics' и создания их лично и подконтрольно.
2) Для того чтобы удропать все автостатистики, создать свой начальный набор статистик,
а дальше пусть работает в авторежиме и создает дополнительные если кажется что они ему нужны.
9 фев 05, 18:21    [1311662]     Ответить | Цитировать Сообщить модератору
 Re: Как DROP AUTO STATISTICS ?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
эта ... а зачем?
9 фев 05, 18:22    [1311664]     Ответить | Цитировать Сообщить модератору
 Re: Как DROP AUTO STATISTICS ?  [new]
Alexander Kot
Member

Откуда: Kiev
Сообщений: 77
Гавриленко Сергей Алексеевич
эта ... а зачем?


Проразвлекался день с базой на которой не создались нужные статистики
несмотря на включенные
'auto create statistics'
'auto update statistics'.

После танцев с бубном вокруг статистики, один запрос изменил 15Min на 30 Sec.

Вот и есть желание удропать все авто статистики, создать свой начальный набор, а дальше пусть делает что хочет :)

Можно конечно создать свои не глядя на имеющиеся, но тогда могут возникнуть дубликаты.
9 фев 05, 18:29    [1311679]     Ответить | Цитировать Сообщить модератору
 Re: Как DROP AUTO STATISTICS ?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Это список AUTO_STATISTICS-ов

select OBJECT_NAME(id), name 
from sysindexes
where INDEXPROPERTY(id, name, 'IsAutoStatistics') = 1
9 фев 05, 19:05    [1311782]     Ответить | Цитировать Сообщить модератору
 Re: Как DROP AUTO STATISTICS ?  [new]
Alexander Kot
Member

Откуда: Kiev
Сообщений: 77
Glory
Это список AUTO_STATISTICS-ов


Спасибо.

Я накопал менее красивое...

select name
from sysindexes
where 
   id = object_id('TABLE_NAME', 'local') and indid > 0 and indid < 255
   and (status & (64 | 8388608)) > 0

А не создаются АвтоСтатистики (ИМХО) потому, что в Where....
некоторые колонки используются не в чистом виде но от них берется функция
SUBSTRING, ISNULL и т.п.
И отсутствие некоторых статистик пускало запросы по совсем дикому плану...

В процессе родился вопрос:
А зачем ему автостатистика по колонке с типом rowversion? :)
9 фев 05, 19:22    [1311813]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить