2015-03-07 11 views
7

Ich muss eine SQL-Abfrage an eine Datenbank senden, die mir sagt, wie viele Zeilen es in einer Tabelle gibt. Ich könnte alle Zeilen in der Tabelle mit einem SELECT erhalten und sie dann zählen, aber ich mag es nicht so. Gibt es eine andere Möglichkeit, die Anzahl der Zeilen in einer Tabelle an den SQL Server zu stellen?Anzahl der SQL-Zeilen in einer Tabelle

Antwort

16

Ja, SELECT COUNT(*) FROM TableName

1
select sum([rows]) 
from sys.partitions 
where object_id=object_id('tablename') 
and index_id in (0,1) 

ist sehr schnell, aber sehr selten ungenau.

+0

Ich habe dies gegen eine Tabelle mit mehr als 400 Millionen Zeilen. Super schnell. –

1

Verwendung Diese Abfrage:

Select 
    S.name + '.' + T.name As TableName , 
    SUM(P.rows) As RowCont 

From sys.tables As T 
    Inner Join sys.partitions As P On (P.OBJECT_ID = T.OBJECT_ID) 
    Inner Join sys.schemas As S On (T.schema_id = S.schema_id) 
Where 
    (T.is_ms_shipped = 0) 
    AND 
    (P.index_id IN (1,0)) 
    And 
    (T.type = 'U') 

Group By S.name , T.name 

Order By SUM(P.rows) Desc 
0

Hier ist die Abfrage

select count(*) from tablename 

or 

select count(rownum) from studennt 
+0

Danke Marcanuy. –

-1

Warum Sie tun nicht nur der rechten Maustaste auf den Tisch und dann Eigenschaften -> Speicher und es würden Sie die Zeile sagen Anzahl. Sie können die unten für Zeile Anzahl in einer Ansicht

SELECT SUM (row_count) 
FROM sys.dm_db_partition_stats 
WHERE object_id=OBJECT_ID('Transactions')  
AND (index_id=0 or index_id=1)` 
Verwandte Themen