/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[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

Søg
Reklame
Statistik
Spørgsmål : 177514
Tips : 31968
Nyheder : 719565
Indlæg : 6408618
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste