Size: a a a

2020 October 07

ДT

Дмитрий Texnix... in sql_ninja
вот такое?
источник

ДT

Дмитрий Texnix... in sql_ninja
да тот кто дал скрипт, не может пояснить чо такое импакт индекса
источник

К

Какой-то Хмырь... in sql_ninja
Дмитрий Texnix
да тот кто дал скрипт, не может пояснить чо такое импакт индекса
SELECT  DISTINCT DB_NAME(database_id),
      CONVERT(DECIMAL(18, 2) , user_seeks * avg_total_user_cost * ( avg_user_impact * 0.01 )) AS [index_advantage] ,
      migs.last_user_seek ,
      mid.[statement] AS [Database.Schema.Table] ,
      mid.equality_columns ,
      mid.inequality_columns ,
      mid.included_columns ,
      migs.unique_compiles ,
      migs.user_seeks ,
      migs.avg_total_user_cost ,
      migs.avg_user_impact ,
      p.rows AS [Table Rows]
 FROM     sys.dm_db_missing_index_group_stats AS migs WITH ( NOLOCK )
      INNER JOIN sys.dm_db_missing_index_groups AS mig WITH ( NOLOCK ) ON migs.group_handle = mig.index_group_handle
      INNER JOIN sys.dm_db_missing_index_details AS mid WITH ( NOLOCK ) ON mig.index_handle = mid.index_handle
      INNER JOIN sys.partitions AS p WITH ( NOLOCK ) ON p.[object_id] = mid.[object_id]
 where  mid.[statement] = ''' + @db + ''' + ''.[dbo].'' + quotename(OBJECT_NAME(mid.[object_id]))
 OPTION ( RECOMPILE )
источник

К

Какой-то Хмырь... in sql_ninja
оно небось
источник

К

Какой-то Хмырь... in sql_ninja
user_seeks * avg_total_user_cost * ( avg_user_impact * 0.01 )

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

фактически надо смотреть на user_seeks + avg_usr_impact, чтобы понять, насколько будет полезен этот индекс. типа, если импакт большой, но запрос выполнялся всего один раз, то возможно этот индекс не так критичен.

а index_advantage - типа такой синтетический показатель, чтобы, не смотреть на два разных.
источник

ДT

Дмитрий Texnix... in sql_ninja
аха, тоись если в показателе 20 лямов, то индекс сильно нужен
источник

ДT

Дмитрий Texnix... in sql_ninja
🙃 прост как бы это перевести в секунды
источник

К

Какой-то Хмырь... in sql_ninja
Дмитрий Texnix
аха, тоись если в показателе 20 лямов, то индекс сильно нужен
ну якобы... посмотри, как часто выполняется запрос (user_seeks) и что за запрос. и реши для себя надо оно реально или нет. мб оно запускается раз в месяц для отчетных целей и все пофиг на скорость.
+ не создавай индекс в лоб, всегда смотри, можно ли его смёрджить с имеющимися. ну шоб не плодить индексы. а то каждый индекс идет в плюс к скорости чтения, но в минус изменениям
источник

ДT

Дмитрий Texnix... in sql_ninja
Какой-то Хмырь
ну якобы... посмотри, как часто выполняется запрос (user_seeks) и что за запрос. и реши для себя надо оно реально или нет. мб оно запускается раз в месяц для отчетных целей и все пофиг на скорость.
+ не создавай индекс в лоб, всегда смотри, можно ли его смёрджить с имеющимися. ну шоб не плодить индексы. а то каждый индекс идет в плюс к скорости чтения, но в минус изменениям
давот, создали индексы по этому скрипту, теперь загрузка данных вместо 40 минут идёт 3 часа
источник

ДT

Дмитрий Texnix... in sql_ninja
а как отрубать индексы перед загрузкой яхз, так как они с почти рандомными именами были созданы
источник

К

Какой-то Хмырь... in sql_ninja
а вот с переводом в секунды - это вопрос интересный.
мне кажется, можно взять текущее время и вычесть процент avg_user_impact. что бы прикинуть хрен к жопе, такскзть.

но я не уверен, что это правильно
источник

К

Какой-то Хмырь... in sql_ninja
Дмитрий Texnix
а как отрубать индексы перед загрузкой яхз, так как они с почти рандомными именами были созданы
динамический sql и sys.indexes
источник

ДT

Дмитрий Texnix... in sql_ninja
Какой-то Хмырь
динамический sql и sys.indexes
выбрал я все индексы из этой таблицы, как их грохнуть?
источник

ДT

Дмитрий Texnix... in sql_ninja
просто drop index ?
источник

К

Какой-то Хмырь... in sql_ninja
грохнуть или отключить?
источник

О奧

Олег 奧列格 (Ào liè gé)... in sql_ninja
Дмитрий Texnix
выбрал я все индексы из этой таблицы, как их грохнуть?
Drop index
источник

ДT

Дмитрий Texnix... in sql_ninja
Какой-то Хмырь
грохнуть или отключить?
ну если я данные залью, то их надо ребулднуть?
источник

ДT

Дмитрий Texnix... in sql_ninja
тобишь надо отключить, залить, затем ребулднуть?
источник

К

Какой-то Хмырь... in sql_ninja
Дмитрий Texnix
ну если я данные залью, то их надо ребулднуть?
ага, емнип)
источник

ДT

Дмитрий Texnix... in sql_ninja
да, как отключить?
источник