|
WX - Tutorial MS SQL Server Tabela Particionada |
Iniciado por BOLLER ADRIANO, set., 01 2016 8:29 PM - Sem resposta |
| |
| | | |
|
| |
Membro registado 3.659 mensagems Popularité : +175 (223 votes) |
|
Publicado em setembro, 01 2016 - 8:29 PM |
Prezados,
Definição com a equipe para elencar as tabelas e treinamento de uso e criação.
Exemplo didático e como usar uma tabela particionada para o seu ERP.
http://screencast.com/t/B6Uz3XSrH
http://www.screencast.com/t/tHIgTcKy8
--------------------------------------------------------------------------------------------------------------- CRIAÇÃO DA TABELA PARTICIONADA ---------------------------------------------------------------------------------------------------------------
USE [model] GO BEGIN TRANSACTION CREATE PARTITION FUNCTION [Fp_Meses](varchar(2)) AS RANGE LEFT FOR VALUES (N'01', N'02', N'03', N'04', N'05', N'06', N'07', N'08', N'09', N'10', N'11', N'12')
CREATE PARTITION SCHEME [Sch_Financeiro] AS PARTITION [Fp_Meses] TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY])
SET ANSI_PADDING ON
CREATE CLUSTERED INDEX [ClusteredIndex_on_Sch_Financeiro_636081645430660792] ON [dbo].[T0004_MovBancos] ( [T0004_Mes] )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [Sch_Financeiro]([T0004_Mes])
DROP INDEX [ClusteredIndex_on_Sch_Financeiro_636081645430660792] ON [dbo].[T0004_MovBancos]
COMMIT TRANSACTION
--------------------------------------------------------------------------------------------------------------- USO DA TABELA PARTICIONADA ---------------------------------------------------------------------------------------------------------------
Use Asplan360_A go
-- A INCLUSÃO NÃO TEM DIFERENÇA, SÓ DEVE ALIMENTAR A COLUNA DE QUAL PARTIÇÃO ELA PERTENCE, NO CASO -- SERIA A COLUNA: T0004_Mes
-- Mostra Tudo select * from T0004_MovBancos
-- Mostra a quantidade de registros em cada partição SELECT $PARTITION.Fp_Meses(T0004_Mes) AS PARTITIONID, COUNT(*) AS ROW_COUNT FROM DBO.T0004_MovBancos GROUP BY $PARTITION.Fp_Meses(T0004_Mes) ORDER BY PARTITIONID
-- Lista só o conteudo da partição 02 SELECT * FROM dbo.T0004_MovBancos WHERE $Partition.Fp_Meses(T0004_Mes) = 02
--O procedimento depois de feito o create table na model é transparente para o sql nada muda.
---------------------------------------------------------------------------------------------------------------
Imagem anexa do resultado.
Em resumo, é simples de fazer, não vai modificar o trabalho da equipe no dia a dia apenas na criação da tabela deverá ter um cuidado e padrões a serem seguidos que trarão para o nosso cliente final um alto desempenho nas consultas, relatórios, inclusão de dados e manutenção.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
|