Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

quarta-feira, 5 de outubro de 2011

SQL Server 2008 - Modulo 03 - Curso 6232

--Aula 01 - Limpa o Buffer Cache

--Limpa o BUFFER CACHE
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
GO

--Aula 02 - Query

USE DB6232
GO

SELECT * FROM amigos
WHERE nome_amigo = 'Marina'

SELECT nome_amigo FROM amigos
WHERE nome_amigo = 'Marina'

--Aula 03 - FILTERED INDEX

USE DB6232
GO

--Verificando o número de registros nos índices
SELECT name, i.index_id, [rows]
FROM SYS.PARTITIONS p INNER JOIN SYS.INDEXES i
ON p.[object_id] = i.[object_id]
AND p.index_id = i.index_id
WHERE p.[object_id] = OBJECT_ID('dbo.amigos')
GO





--Criando FILTERED INDEX (SQL SERVER 2008)
CREATE NONCLUSTERED INDEX IX_amigos_sexo_amigo_F
ON amigos (sexo_amigo)
INCLUDE (nome_amigo)
WHERE sexo_amigo  = 'F'
GO



CREATE NONCLUSTERED INDEX IX_amigos_sexo_amigo_M
ON amigos (sexo_amigo)
INCLUDE (nome_amigo)
WHERE sexo_amigo  = 'M'
GO



SELECT nome_amigo FROM amigos
WHERE sexo_amigo = 'F' AND nome_amigo = 'Marina'


--Estimated Subtree Cost ->



SELECT nome_amigo FROM amigos
WHERE sexo_amigo = 'M' AND nome_amigo = 'Pedro'

--Estimated Subtree Cost ->


--Aula 05 - Usando o FILLFACTOR

--Usando o FILLFACTOR
USE DB6232
GO



--Criando índice CLUSTERED na coluna cod_amigo
--com FILLFACTOR = 90
CREATE CLUSTERED INDEX IXC_amigos_cod_amigo
ON amigos (cod_amigo)
WITH (FILLFACTOR = 90)



--Criando índice NONCLUSTERED na coluna nome_amigo
--com FILLFACTOR = 90
CREATE NONCLUSTERED INDEX IX_amigos_nome_amigo
ON amigos (nome_amigo)
WITH (FILLFACTOR = 90)



SELECT nome_amigo FROM amigos
WHERE nome_amigo = 'Marina'

--Aula 06 - Reorganize e Rebuild Indices

 --Otimizando índices
USE DB6232
GO


DBCC SHOWCONTIG ('dbo.amigos', 3)



DBCC SHOWCONTIG ('dbo.amigos', 1) WITH FAST
GO



--Reorganizando os índices
ALTER INDEX IX_amigos_nome_amigo
ON [dbo].[amigos] REORGANIZE
GO



--Reconstruíndo os índices
ALTER INDEX [IX_amigos_nome_amigo]
ON [dbo].[amigos] REBUILD
GO

-- Aula 07  - Query Retorna Info Sobre Index


--Visualizando informações sobre os índices
--Número de registros na tabela
--Número de páginas de dados
--Número de registros por página de dados
SELECT    OBJECT_NAME(i.OBJECT_ID) AS [Tabela],
        i.name AS [Índice],
        i.type_desc AS [Tipo],
        SUM(p.ROWS) AS [Registros],
        SUM(au.data_pages) AS [# Páginas],
        SUM(p.ROWS) / SUM(au.data_pages) AS [# Registros Por Página]
FROM sys.indexes AS i INNER JOIN sys.partitions AS p
ON i.OBJECT_ID = p.OBJECT_ID
AND i.index_id = p.index_id INNER JOIN sys.allocation_units AS au
ON p.hobt_id = au.container_id
WHERE OBJECT_NAME(i.OBJECT_ID) NOT LIKE 'sys%'
AND au.type_desc = 'IN_ROW_DATA'
GROUP BY OBJECT_NAME(i.OBJECT_ID), i.name, i.type_desc
HAVING SUM(au.data_pages) > 0
ORDER BY 6




--Minha Query
SELECT    ob.name,
        ps.index_id,
        ps.in_row_data_page_count,
        ps.used_page_count,
        ps.row_count
FROM        sys.dm_db_partition_stats ps
INNER JOIN    sys.objects ob
ON ps.object_id = ob.object_id
WHERE type = 'U'


--Aula 08 - Buffer Cache

--Verificando o funcionamento do BUFFER CACHE
--utilizando o Performance Monitor com o counter a seguir

--SQLServer:Buffer Manager
--Database pages
--Descrição: Number of pages in the buffer pool with database content.

SELECT * FROM [Sales].[SalesOrderDetail]
SELECT * FROM [Production].[TransactionHistory]
SELECT * FROM [Production].[TransactionHistoryArchive]
SELECT * FROM [Production].[WorkOrder]
SELECT * FROM [Production].[WorkOrderRouting]





Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...