Alternativa je koriscenje tzv. metapodataka. Umesto da se broj rekorda racuna za svaku tabelu (i time mnoga od njih skenira) koristi se upit koji ukljucuje catalog views. Evo koda:
Code:
SELECT s.name + '.' + t.name TableName, SUM(p.rows) NumberOfRows
FROM sys.tables t
INNER JOIN sys.partitions p
ON p.object_id = t.object_id
INNER JOIN sys.schemas s
ON t.schema_id = s.schema_id
WHERE t.is_ms_shipped = 0 AND p.index_id IN (0,1)
GROUP BY s.name, t.name
ORDER BY 2 DESC
Upozorenje! Ovaj kod vraca aproksmativne vrednosti, ne uvek tacan broj rekorda! Pa ako je zaista bitno da li je 123778 ili 123779 onda ovaj pristup nije dobar. Ukoliko je, pak, sitno odstupanje dozvoljeno onda je ovo odlican izbor jer se izbegava pristup tabelama i njihovo zakljucavanje.
Poz,
M.
Sad šta je tu je. A možda će da dođe i ova tvoja tetka iz Bosanske Krupe.