|
| [MSSQL] Tabel-statistik, der viser kardina~ Fra : Troels Arvin |
Dato : 13-09-04 19:40 |
|
Hej,
I PostgreSQL kan man køre ANALYZE på en tabel, hvorefter DBMSet
opdaterer sine statistikker for tabellen. Derefter kan man i en særlig
systemtabel[1] bl.a. se antal rækker i tabellen ved sidste kørsel af
ANALYZE. Dette er særlig interessant i PostgreSQL, fordi dens
implementation af MVCC[2] gør, at COUNT(*) er en overraskende tung
operation.
Jeg kan i MSSQL-dokumentationen finde kommandoen til at opdatere
statistikker for en tabel, men jeg kan ikke se, om MSSQL har en
systemtabel, hvori jeg kan læse row-count ved seneste
statistik-opdatering. Findes denne værdi et sted?
Er COUNT(*) en tung operation i MSSQL?
Note 1:
pg_catalog.pg_class, kolonnen reltuples.
Note 2:
Multi-version concurrency control.
(Jeg har i øvrigt hørt, at MSSQL 2005 også får MVCC.)
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
Stig Johansen (14-09-2004)
| Kommentar Fra : Stig Johansen |
Dato : 14-09-04 14:48 |
|
Troels Arvin wrote:
[snip ..PostgreSQL]
> Jeg kan i MSSQL-dokumentationen finde kommandoen til at opdatere
> statistikker for en tabel, men jeg kan ikke se, om MSSQL har en
> systemtabel, hvori jeg kan læse row-count ved seneste
> statistik-opdatering. Findes denne værdi et sted?
Kig i tabellen 'sysindexes'
> Er COUNT(*) en tung operation i MSSQL?
Det kommer an på hvad der er af indexes på tabellen.
Prøv evt. at bede om en executionplan.
--
Med venlig hilsen
Stig Johansen
| |
|
|