2012-04-05 13 views
7

Próbuję uzyskać rozmiaru tabeli dla każdej tabeli z bazy danych za pomocą SQL Anywhere 11.SQL Anywhere 11 - tabela rozmiar

Właśnie się dowiedziałem sp_spaceused została zaniechana

Każda pomoc z tego będzie mile widziane! :)

+0

Czy masz link potwierdzający to dezaprobata lub jest to spekulacja? –

+0

znaleziono. http://dcx.sybase.com/1001/en/dbwnen10/wn-newjasper-s-3751424.html –

+0

szczęście na tym? – tray

Odpowiedz

4

Prawdopodobnie widok systemu SYSTAB może być wystarczająco dobrą alternatywą. Może podać liczbę wierszy w tabeli i może podać liczbę stron używanych przez tabelę. (W poniższym przykładzie, mam mnożąc liczbę stron według rozmiaru strony DB, aby uzyskać całkowity rozmiar bajtów.)

SELECT 
    count,      -- number of rows in the table 
    (table_page_count * DB_PROPERTY('PageSize')) tablesize 
           -- total size, in bytes 
FROM SYSTAB 
WHERE table_name = 'mytable'; -- or whatever limitations you want on 
           -- the scope of the query 

nadzieję, że to pomaga.

1

Można użyć tego skryptu na SQL Server, aby znaleźć największy tabeli w bazie danych i wiersza liczyć

SELECT sc.name +'.'+ ta.name TableName 
,SUM(pa.rows) RowCnt 
FROM sys.tables ta 
INNER JOIN sys.partitions pa 
ON pa.OBJECT_ID = ta.OBJECT_ID 
INNER JOIN sys.schemas sc 
ON ta.schema_id = sc.schema_id 
WHERE ta.is_ms_shipped = 0 AND pa.index_id IN (1,0) 
GROUP BY sc.name,ta.name 
ORDER BY SUM(pa.rows) DESC 
Powiązane problemy