2015-03-07 28 views
7

Potrzebuję wysłać kwerendę SQL do bazy danych, która powie mi, ile wierszy jest w tabeli. Mogłem uzyskać wszystkie wiersze w tabeli za pomocą SELECT, a następnie je policzyć, ale nie lubię tego robić w ten sposób. Czy jest jakiś inny sposób na pytanie o liczbę wierszy w tabeli do serwera SQL?Liczba wierszy SQL w tabeli

Odpowiedz

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

jest bardzo szybki, ale bardzo rzadko niedokładne.

+0

Uruchomiłem to przy stole z 400 milionów wierszy. Super szybki. –

1

Wykorzystanie tego zapytania:

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

Oto zapytaniu

select count(*) from tablename 

or 

select count(rownum) from studennt 
+0

Dzięki Marcanuy. –

-1

Dlaczego nie można po prostu kliknij prawym przyciskiem myszy na stole, a następnie Właściwości -> Przechowywanie i byłoby wam wiersz liczyć. Możesz użyć poniższej liczby wierszy w widoku