Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Anda bisa tahu Tabel apa yang mengambil ruang paling banyak di Database SQL Server 2005?

Coba skrip ini - skrip ini akan mencantumkan jumlah baris dan ruang yang digunakan oleh baris data (dan total ruang yang digunakan) untuk semua tabel di database Anda:

SELECT 
 t.NAME AS TableName,
 i.name AS indexName,
 SUM(p.rows) AS RowCounts,
 SUM(a.total_pages) AS TotalPages, 
 SUM(a.used_pages) AS UsedPages, 
 SUM(a.data_pages) AS DataPages,
 (SUM(a.total_pages) * 8) / 1024 AS TotalSpaceMB, 
 (SUM(a.used_pages) * 8) / 1024 AS UsedSpaceMB, 
 (SUM(a.data_pages) * 8) / 1024 AS DataSpaceMB
FROM 
 sys.tables t
INNER JOIN  
 sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
 sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
 sys.allocation_units a ON p.partition_id = a.container_id
WHERE 
 t.NAME NOT LIKE 'dt%' AND
 i.OBJECT_ID > 255 AND  
 i.index_id <= 1
GROUP BY 
 t.NAME, i.object_id, i.index_id, i.name 
ORDER BY 
 OBJECT_NAME(i.object_id) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kode EF dulu, bagaimana cara mendaftarkan nama tabel yang sama dengan skema yang berbeda?

  2. Bagaimana cara menjatuhkan batasan kunci asing hanya jika ada di server sql?

  3. Konversi Nama Bulan ke Nomor Bulan di SQL Server (T-SQL)

  4. Bagaimana cara menghindari kesalahan pembagian dengan nol dalam SQL?

  5. sql query untuk mengembalikan perbedaan antara dua tabel