Karuta’s ASP & M$ SQLserver

Dicas, códigos e outras coisinhas de meus estudos para não esquecer…

Archive for fevereiro \11\UTC 2019

Compare o conteúdo de 2 tabelas

Posted by karuta em fevereiro 11, 2019

select * from TABLE_A
EXCEPT
select * from TABLE_B

  • se não retornar nada é porque as tabelas estão iguais

EXCEPT

Quando se quer que apareçam os registros da tabela A que não são iguais aos da tabela B, temos a opção de ‘subtrair’ os registros utilizando EXCEPT.

Anúncios

Posted in sql server | Leave a Comment »

Index Fragmentation on ALL Indexes in a Database

Posted by karuta em fevereiro 5, 2019

Muitas vezes, quando estou usando um ambiente de desenvolvimento ou de teste e me deparo com uma situação em que uma consulta está se comportando mais devagar que o normal, a primeira coisa que quero excluir é “Tenho índices fragmentados?”. Aqui está uma consulta simples que lista todos os índices em todas as tabelas do seu banco de dados, ordenadas por porcentagem de fragmentação do índice. Essa consulta funcionará no SQL2K5 ou mais recente.
SELECT dbschemas.[name] as 'Schema',
dbtables.[name] as 'Table',
dbindexes.[name] as 'Index',
indexstats.alloc_unit_type_desc,
indexstats.avg_fragmentation_in_percent,
indexstats.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.database_id = DB_ID()
ORDER BY indexstats.avg_fragmentation_in_percent desc

Posted in sql server | Leave a Comment »