MSSQL Create Indexed View

Instruction written in the Dutch language…

M.b.v. onderstaande T-SQL statements maak je een indexed view. Bij een indexed view worden de gegevens als aparte objecten opgeslagen in de database. Dit kan in bepaalde omstandigheden performance winst opleveren. Er zijn echter ook een aantal restricties. Bij een update van een record waar een dergelijke view van afhankelijk is wordt ook de view bijgewerkt. Dit kan dus ook performance verlies opleveren. SCHEMABINDING zorgt ervoor dat onderliggende tabellen niet kunnen worden aangepast zonder eerst de VIEW te verwijderen.

SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[Indexed_Viewname] WITH SCHEMABINDING
AS
SELECT x2.column1 as [column1a], column1, x3.column2
FROM dbo.table1 x1
JOIN dbo.table2 x2 ON x1.column3 = x2.column5
JOIN dbo.table3 x3 ON x2.column4 = x3.column1
WHERE column2 = 'X'

Met onderstaande T-SQL statement maak je een clustered index.

CREATE UNIQUE CLUSTERED INDEX Cl_Idx_Viewname
ON dbo.Indexed_Viewname(column1)

 

MSSQL Create Table Partitions

Instruction written in the Dutch language…
  1. Open SQL Server Management Studio en klik met de rechter muisknop op de gewenste database. Selecteer properties.
  2. Maak nieuwe bestandsgroepen op de de Filegroups pagina. Markeer zonodig de filegroup als readonly.
  3. Selecteer de gewenste database in het drop-down menu.
  4. Voer onderstaande query uit om de partition function aan te maken op basis van een kolom met datums waarbij de eerste partitie stopt bij datums kleiner of gelijk aan de huidige datum – 365 dagen (LEFT). Bij RANGE RIGHT wordt de tabel gesplitst bij waarden kleiner dande opgegeven waarde.
    CREATE PARTITION FUNCTION pfTablename (datatype) AS RANGE LEFT FOR VALUES (Getdate() - 365)
  5. Voer onderstaande query uit om een partion schemeaan te maken met de eerder aangemaakte filegroups.
    CREATE PARTITION SCHEME pfTablename AS PARTITION pfTablename TO (Filegroup1, Filegroup2, Filegroup3)
  6. Koppel het partition scheme aan de kolom in de tabel m.b.v. de table designer (Regular Data Space Specification).