2015-03-07 3 views
7

Мне нужно отправить SQL-запрос в базу данных, которая сообщает мне, сколько строк в таблице. Я мог бы получить все строки в таблице с помощью SELECT, а затем подсчитать их, но я не люблю делать это таким образом. Есть ли другой способ задать количество строк в таблице на SQL-сервере?SQL count строк в таблице

ответ

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

очень быстро, но очень редко неточными.

+0

Я провел это против стола с более чем 400 миллионами строк. Супер быстрый. –

1

Использовать этот запрос:

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

Вот в запросе

select count(*) from tablename 

or 

select count(rownum) from studennt 
+0

Спасибо Marcanuy. –

-1

Почему вы не просто правой кнопкой мыши на таблице, а затем свойства -> Хранение и было бы сказать вам ряд сосчитать. Вы можете использовать приведенное ниже количество строк в виде

SELECT SUM (row_count) 
FROM sys.dm_db_partition_stats 
WHERE object_id=OBJECT_ID('Transactions')  
AND (index_id=0 or index_id=1)` 
Смежные вопросы