Uvođenje paralelizma u SSIS paket – Balanced Data Distributor

Objavljeno: 17-01-2014 | Autor: Tatjana Mađer | Kategorija: Optimizacija, SSIS

Ознаке: , ,

0

Balanced Data Distributor (BDD) je SSIS komponenta koja omogućava jednostavan način da se iskoriste multi-procesorski serveri uvođenjem paralelizma u data flow paketa.

BDD se prvi put pojavljuje sa verzijom SQL Servera 2008. Ne dolazi podrazumevano sa instalacijom SQL Servera, već je neophodno instalirati ga posebno (instalacija se može preuzeti sa sledećeg link-a). Nakon instaliranja, potrebno ga je ručno dodati da bi se pojavio u listi data flow transformacija i to na sledeći način: u Toolbox-u uraditi desni klik na Data Flow Transformations i izabrati Choose Items->SSIS Data Flow Items tab gde je potrebno čekirati Balanced Data Distributor i potvrditi sa OK.

Interni tipovi join-ovanja

Objavljeno: 05-01-2014 | Autor: Milen Blagojević | Kategorija: Optimizacija

0

Prilikom logičkih join-ovanja tabela u SQL serveru, SQL Server Query Optimizer koristi jedan od 3 tipa internih join-ova:

Merge join

U većini slučajeva ovo je najefikasniji metod join-ovanja tabela. SQL Server koristi ovaj tip kada se join-uju tabele sa približnim brojem redova po kolonama koje imaju isto sortirane indekse.

Procedura sa ulaznim parametrom radi sporije – parameter sniffing

Objavljeno: 30-12-2013 | Autor: Žana (Jovana) Baćović | Kategorija: Optimizacija, Stored procedure, T-SQL

0

Procedure sa ulaznim parametrima se koriste da bi se poboljšale performanse sistema, kada postoji mnogo zajedničkih upita istog oblika. Prilikom prvog izvršavanja procedure (pod prvim se podrazumijeva izvršavanje nakon (re)kompajliranja), SQL Server kreira keširani plan izvršenja (execution plan), koji koristi prilikom sledećeg poziva. Ovakvo ponašanje (koje predstavlja ponašanje SQL Servera po dizajnu) je poznato pod nazivom parameter sniffing.
Kreirani plan je prilagođen prvoj prosleđenoj vrijednosti parametra i u zavisnosti od njene raspoređenosti na izvoru, može biti izabran tako da koristi npr. nonclustered index seek. Takav plan može da odgovara ostalim vrijednostima parametra, ali može da se desi da nekoj vrijednosti parametra više odgovara korišćenje clustered index scan, a ipak će koristiti keširani plan.
Tada procedura traje mnogo duže nego što je uobičajeno, dešava se da se izvršavanje poveća sa minut ili dva na preko sat vremena. Kada pokušate da zaključite koji upit u proceduri je iznenada počeo da pravi problem, zaključićete da se tijelo procedure, sa proslijeđenom vrijednošću parametra pušteno kao upit izvršava za isto vrijeme kao procedura ranije i da problem nije u tijelu procedure.
Problem je opisano ponašanje SQL Servera, odnosno