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

Откуда:
Сообщений: 72
вопрос конкретный и серьезный )))
3 окт 12, 16:11    [13262801]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
можно ещё добавть что в базе мало записи и много вывода
3 окт 12, 16:14    [13262827]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
sys.dm_db_missing_index_details
3 окт 12, 16:14    [13262836]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
prog01,

Оптимизация производительности приложений
3 окт 12, 16:30    [13262960]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
приподниму веточку
может где есть готовые решения
ну типа запустил и индексы недостающие сами налепились )))
4 окт 12, 10:14    [13265716]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
говнооптмз
Guest
prog01,

тюнинг адвизор. в поставке с сиквелом.
4 окт 12, 10:16    [13265738]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
говнооптмз
prog01,

тюнинг адвизор. в поставке с сиквелом.

а он индексы сам делает
4 окт 12, 10:38    [13265884]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
?
4 окт 12, 10:38    [13265887]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
prog01
?


Ага, он Вам и код напишет и в магазин сбегает
4 окт 12, 10:43    [13265915]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
Для анализа работы 1С с базой SQL можно применять множество средств MS SQL Server, но для анализа индексации объектов конфигурации прощу всего и быстрее использовать простой запрос, предложенный специалистами Microsoft:

SELECT TOP 20
[Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0)
, avg_user_impact
, TableName = statement
, [EqualityUsage] = equality_columns
, [InequalityUsage] = inequality_columns
, [Include Cloumns] = included_columns
FROM sys.dm_db_missing_index_groups g
INNER JOIN sys.dm_db_missing_index_group_stats s
ON s.group_handle = g.index_group_handle
INNER JOIN sys.dm_db_missing_index_details d
ON d.index_handle = g.index_handle
where statement like '%base1C%'
ORDER BY [Total Cost] DESC;

http://wondermaker.at.ua/publ/vivisekcija_indeksov_1s_predprijatija/6-1-0-420

как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные
4 окт 12, 10:45    [13265929]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
prog01
как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные


еее... ну стоп,ето перебор сами кластерный не кластерные
Вопервых кластерный могет быть тока 1 на таблицу,во вторых индексы делают не от фонаря ,а минимум понимая где он нужен...
4 окт 12, 12:14    [13266650]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
Maxx
prog01
как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные


еее... ну стоп,ето перебор сами кластерный не кластерные
Вопервых кластерный могет быть тока 1 на таблицу,во вторых индексы делают не от фонаря ,а минимум понимая где он нужен...


ну так выше же написана процедура которая определяет где он нужен
или как?
4 окт 12, 13:59    [13267588]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31429
prog01
ну так выше же написана процедура которая определяет где он нужен
или как?
Там просто могут быть излишние индексы
Вам же нужно ещё учитывать баланс между скоростью селектов и скоростью изменения данных, да ещё и с местом под данные.
4 окт 12, 15:14    [13268383]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные
4 окт 12, 16:40    [13269138]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
prog01
как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные


Не запускал тот скрипт, не знаю что на выходе, но если в теории...

Выводите результат в табличку и с помощью переменных в create index бла бла бла идете курсором по табличке с результатом.

Главное правильно строку Create index сформировать.
4 окт 12, 16:54    [13269313]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
ну как бы некий примерчик в виде ссылочки на мсдн хотя бы
ясное дело что в теории нужно обойти талицу и нагенерить индексы только например как проверить существование кластерного и т.д.
т.е. как то чтобы скопипастить а потом уже покомандно разобраться
мог бы не спрашивал бы
4 окт 12, 16:58    [13269364]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
prog01
как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные
Не взлетит.

В большей части отсутствие кластерного индекса (где либо) для всяких мелких и не очень стандартных проектах - моветон.
Он должен сразу быть создан на ID.
Далее не кластерные.

В нормальной базе всё равно будут возникать MissingIndex и все эти "индексы" будут вредными.
Без понимания далеко не улетишь (хотя некоторых это устраивает). Если ваша задача стандартная - купите готовое стандартное решение и не парьтесь.
4 окт 12, 17:22    [13269568]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
в некоторой базе супер не хватает индекса по некоторой таблице
так вот кластерный там отсутствует - вчера специально смотрел
4 окт 12, 17:26    [13269601]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
Mnior
prog01
как бы дописать чтобы индексы сами создались по результатам этого скрипта причем по возможности кластерные
Если ваша задача стандартная - купите готовое стандартное решение и не парьтесь.

не поверите но у нас и есть готовое решение - 1С

хотя возможно кем-то допиленное но это уже другая история
база внедрена и мы кушаем то что есть - кактус)))
4 окт 12, 17:27    [13269612]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
prog01
мы кушаем то что есть - кактус)))
Согласен!
Против нобеля не попрёшь. Быть специалистами мы обязаны. Либо выбирать или писать самим.
Просто при выборе можно не разбираясь в деталях (реализации) правильно оценивать, ибо хоть в самой предметной области мы обязаны разбираться.
С другой стороны, можно получить удовольствие и от кактуса.
А с третьей 1C этот тот же SQL - тупо среда разработки, узкоспециализированная. А вот решение на 1С говно ... хотя и 1С говно.
Так что или плохо искали, или нет стандартного решения, тогда или нанимать специалистов, или вообще не лезть в эту область, или наслаждаться кактусом.
4 окт 12, 18:31    [13270067]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
ну короче я понял что специалисты хотят денег за такую информацию
значит сам разберусь, какие проблемы
4 окт 12, 19:09    [13270209]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
и ещё раз - база внедрена до моего прихода
4 окт 12, 19:09    [13270210]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
prog01
Member

Откуда:
Сообщений: 72
а я сечас должен доделать всё в условиях когда бюджет фактически отожрали
как всегда
4 окт 12, 19:10    [13270213]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Да не проблема. Запрос напишем. Просто предупредили заранее.
4 окт 12, 21:35    [13270543]     Ответить | Цитировать Сообщить модератору
 Re: как узнать где не хватает индексов?  [new]
бюджетоотжор
Guest
prog01
а я сечас должен доделать всё в условиях когда бюджет фактически отожрали
как всегда

а ты там кем? PM?
4 окт 12, 21:35    [13270545]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить