To sto si uradio je sasvim legitiman potez ka resavanju svog problema. I kad vec koristis SQL 2008 onda promeni eskalaciju lockova sa table na partition level:
Code:
ALTER TABLE tabela SET (LOCK_ESCALATION = AUTO);
Ova znaci da ce SQL u situacijama kad bi inace resio da eskalira lock na nivo tabele (sto moze lako da se desi sa bulk brisanjem) da umesto toga prvo proba da eskalira lock samo na nivo particije, time bi ostale particije ostale slobodne za query-e.
Drugi tip za tebe ja da obavezno ukljucis partitioning uslov u delete statement i da prvo indeksiras diskriminaciono polje (datum). Znaci cak iako brises po nekom drugom polju gde si siguran da se svi brisani podaci nalaze u 'dinamicnijoj' particiji ukljuci i diskriminisuci date koji direktno pokazuje na samo jednu particiju (npr where datum >= danas), taj diskriminisuci uslov ce omoguciti query optimizer-u da eliminise nekoriscene particije bez potrebe da skenira tabelu/index
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić