DBAtlas · Veritabanı operasyon atlası

Satır / belge sayısını (hızlı) öğren

Oracle

-- İstatistik temelli (hızlı, tahmini):
SELECT num_rows FROM dba_tables WHERE table_name = 'MUSTERI';
-- Kesin: SELECT COUNT(*) FROM musteri;

num_rows son ANALYZE/DBMS_STATS anına aittir; kesinlik için COUNT(*).

PostgreSQL

-- Tahmini (anında):
SELECT reltuples::bigint FROM pg_class WHERE relname = 'musteri';
-- Kesin: SELECT count(*) FROM musteri;

reltuples son ANALYZE/VACUUM'a göre tahminidir; büyük tablolarda tam COUNT pahalıdır.

MySQL

-- Tahmini (InnoDB):
SELECT table_rows FROM information_schema.tables
WHERE table_name = 'musteri';
-- Kesin: SELECT COUNT(*) FROM musteri;

InnoDB'de table_rows tahminidir ve %50'ye kadar sapabilir.

SQL Server

SELECT SUM(row_count) AS rows
FROM sys.dm_db_partition_stats
WHERE object_id = OBJECT_ID('dbo.musteri')
  AND index_id IN (0, 1);

index_id 0 (heap) veya 1 (clustered) satır sayısını verir; COUNT(*) taramadan çok hızlıdır.

MongoDB

// Hızlı (metadata'dan):
db.musteri.estimatedDocumentCount()
// Kesin (filtreli sayabilir): db.musteri.countDocuments({})

estimatedDocumentCount metadata okur (anında); countDocuments gerçek tarama yapar.

Redis

DBSIZE
# Belirli desen: kabaca SCAN ile sayılır (KEYS * üretimde kullanmayın)

DBSIZE seçili veritabanındaki toplam anahtar sayısını O(1) verir.

DBAtlas'ta aç →