Usuário com melhor resposta
Quantas vezes a tabela foi acessada

Pergunta
-
Respostas
-
Bom Dia,
No SQL Server 2005 é complicado mas é possível. Na parte de consultas você pode pesquisar na sys.dm_db_index_usage_stats para verificar a quantidade de Seeks e Scans de cada índice da tabela. Na parte de INSERTs, UPDATEs e DELETEs só mesmo com o uso de triggers. Outra possibilidade é o uso do SQL Trace, mas dependendo do acesso essa saída pode provocar um overhead indesejável.Existem ferramentas de terceiros especialistas em estatísticas de dados e acessos e servem exatamente para esse tipo de métrica. No SQL Server 2008 podemos fazer esse controle de forma nativa através do SQL Audit.
[ ]s,Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comPivoteando, Despivoteando, Transpondo, Invertendo Colunas e Linhas no SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!629.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar terça-feira, 14 de julho de 2009 00:29
- Marcado como Resposta sergioduarte terça-feira, 14 de julho de 2009 00:36
Todas as Respostas
-
-
-
Bom Dia,
No SQL Server 2005 é complicado mas é possível. Na parte de consultas você pode pesquisar na sys.dm_db_index_usage_stats para verificar a quantidade de Seeks e Scans de cada índice da tabela. Na parte de INSERTs, UPDATEs e DELETEs só mesmo com o uso de triggers. Outra possibilidade é o uso do SQL Trace, mas dependendo do acesso essa saída pode provocar um overhead indesejável.Existem ferramentas de terceiros especialistas em estatísticas de dados e acessos e servem exatamente para esse tipo de métrica. No SQL Server 2008 podemos fazer esse controle de forma nativa através do SQL Audit.
[ ]s,Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comPivoteando, Despivoteando, Transpondo, Invertendo Colunas e Linhas no SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!629.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar terça-feira, 14 de julho de 2009 00:29
- Marcado como Resposta sergioduarte terça-feira, 14 de julho de 2009 00:36
-
Bom Dia,
Segue um método um pouco rudimentar... Não é preciso, mas dá pra se ter uma idéia...USE TEMPDB GO -- Cria uma tabela CREATE TABLE tbl (CODIGO INT, NOME CHAR(1000), Tipo INT) -- Insere 10.000 registros DECLARE @i INT SET @i = 1 WHILE @i < 10000 BEGIN INSERT INTO tbl VALUES (@i, REPLICATE('a',1000), @i % 1000) SET @i = @i + 1 END -- Cria dois índices CREATE CLUSTERED INDEX IDX ON tbl (Codigo) CREATE NONCLUSTERED INDEX IX ON tbl (Tipo) -- Verifica quantas vezes os índices foram "tocados" -- As colunas User_Seeks e User_Scans, User_LookUps e User_Updates estão em branco SELECT * FROM sys.dm_db_index_usage_stats WHERE Database_Id = DB_ID() AND Object_ID = OBJECT_ID('tbl') -- Faz uma leitura dos 10 primeiros registros SELECT * FROM tbl WHERE Codigo <= 10 -- A coluna User_Seeks aumenta o Seek em 1, pois, a consulta anterior fez uma pesquisa SELECT * FROM sys.dm_db_index_usage_stats WHERE Database_Id = DB_ID() AND Object_ID = OBJECT_ID('tbl') -- Seleciona todos os registros com o tipo igual a 1 SELECT * FROM tbl WHERE Tipo = 1 -- Aumenta o User Seeks do Index_ID = 2 e o Look Up do Clustered Index SELECT * FROM sys.dm_db_index_usage_stats WHERE Database_Id = DB_ID() AND Object_ID = OBJECT_ID('tbl') -- Deleta 100 registros DELETE TOP (100) FROM tbl -- Aumenta o User_Updates dos dois índices SELECT * FROM sys.dm_db_index_usage_stats WHERE Database_Id = DB_ID() AND Object_ID = OBJECT_ID('tbl')
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comPivoteando, Despivoteando, Transpondo, Invertendo Colunas e Linhas no SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!629.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar terça-feira, 14 de julho de 2009 12:34
-
-
Olá Demétrio,
Se a tabela for clusterizada, o Index Scan do Clustered Index irá aumentar. Se a tabela não for clusterizada, haverá uma entrada caracterizando-a como HEAP TABLE (Index_ID = 0).
[ ]s,Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comPivoteando, Despivoteando, Transpondo, Invertendo Colunas e Linhas no SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!629.entry
Classifique as respostas. O seu feedback é imprescindível -