Bulmaca Sitesi eğlenerek çöz
logo
  •  
    •  » BİLİM VETEKNOLOJİ
    •  » SPOR
    •  » KÜLTÜR SANAT MAGAZİN
    •  » SAĞLIK
    •  » EĞİTİM
    •  » DÜNYA
    •  » YAZARLARIMIZ
    •  » HABER ARA
    •  » TÜM HABERLER
    •  » VİDEOLU HABERLER
    •  » TÜM MAKALELER
    •  » FOTO GALERİ
    •  » VİDEO GALERİ
    •  » GÜNÜN HABERLERİ
  • GÜNCEL
  • HARF SEÇMELİ
  • GİZLİ KELİME
  • QUİZ BULMACA
  • KARE BULMACA
  • ARDUNİO
  • YAŞAM
  • GÜNDEM
19 Nisan 2026 Pazar
  1. Veritabanı

COUNT() mü yoksa num_rows mu? Hangi Yöntem Daha Performanslı?

 Yayınlanma : 09-04-2025 | 02 : 53 42
 Güncelleme : 09-04-2025 | 02 : 53 42
COUNT() mü yoksa num_rows mu? Hangi Yöntem Daha Performanslı?
        

"Kayıt sayısını öğrenmek için COUNT() fonksiyonu mu kullanılmalı, yoksa SELECT ile verileri çekip num_rows ile mi sayılmalı?"

Web uygulamaları geliştirirken veritabanından kayıt sayısı almak çok yaygın bir ihtiyaçtır. Özellikle içerik yönetim sistemlerinde, örneğin bir habere ait galeri resimlerinin sayısını göstermek istediğimizde bu ihtiyaç kendini gösterir. Ancak burada kritik bir soru var:

"Kayıt sayısını öğrenmek için COUNT() fonksiyonu mu kullanılmalı, yoksa SELECT ile verileri çekip num_rows ile mi sayılmalı?"

Bu yazıda bu iki yöntemi performans açısından karşılaştıracak, en doğru ve hızlı yaklaşımı ele alacağız.

Senaryo: Habere Ait Galeri Resimlerini Saymak

Varsayalım ki hbresim adında bir tablomuz var ve bu tabloda her haber için birden fazla galeri resmi tutuluyor. Her resim kaydının id,  resimid, resimyolu gibi alanları mevcut.

Amacımız: Belirli bir habere ait toplam kaç galeri resmi olduğunu öğrenmek.

Yöntem 1: SELECT id + $result->num_rows 

 $sql = "SELECT id FROM hbresim WHERE resimid = '$resim_id'";
$result = $con->query($sql);
$resim_sayisi = $result->num_rows;

Bu yöntem ilk bakışta işe yarıyor gibi görünse de, performans açısından dezavantajları var:

  • MySQL, eşleşen tüm id değerlerini belleğe alır.

  • Özellikle hbresim tablosu büyükse (örneğin binlerce resim kaydı varsa), hafıza tüketimi artar.

  • ORDER BY gibi eklemeler de varsa, işlem daha da yavaşlar.

Yöntem 2: SELECT COUNT(id) ile Sayım

$sql = "SELECT COUNT(id) as sayi FROM hbresim WHERE resimid = '$resim_id'";
$result = $con->query($sql);
$row = $result->fetch_assoc();
$resim_sayisi = (int)$row['sayi'];

Bu yöntem çok daha hafif ve hızlıdır:

  • MySQL sadece sayıyı hesaplar, veri çekmez.

  • Daha az bellek kullanılır.

  • Özellikle büyük tablolarda ciddi performans farkı oluşur.

COUNT(*) mi COUNT(id) mi?

Eğer id alanı birincil anahtar (PRIMARY KEY) ve NOT NULL ise:

  • COUNT(id) ve COUNT(*) aynı sonucu verir.

  • Her ikisi de indekslenmiş kolon üzerinden çalıştığı için hızlıdır.

Bu nedenle, COUNT(id) performanslı ve doğrudur.

Bonus: ORDER BY Tuzağı

Kayıt sayısı almak istiyorsanız, ORDER BY kullanmayın. Çünkü:

 SELECT id FROM hbresim WHERE ... ORDER BY sira ASC

Bu, sıralama maliyeti ekler. Halbuki COUNT() kullanırken sıralamaya ihtiyaç yoktur.

Sonuç: En İyi Yöntem Hangisi?

Yöntem Performans Bellek Kullanımı Uygun Durum
SELECT id + num_rows Düşük Yüksek Veri de kullanılıyorsa
SELECT COUNT(id) Yüksek Düşük Sadece sayım için

Yani sadece kayıt sayısı gerekiyorsa, her zaman SELECT COUNT(id) kullanın.

Kritik işlevleri hızlandırmak için küçük detaylar büyük fark yaratır. Bu yazıyı beğendiysen paylaşmayı unutma!



 


Haber : 

ETİKETLER : Yazdır

  • COUNT
  • sql

  Yorumlar

Yorumlar, editörlerimiz tarafından onaylandıktan sonra yayınlanır. Kanunlara aykırı, konuyla ilgisi olmayan, küfür içeren yorumlar onaylanmamaktadır.

 Yorumlar ( 0 )

Henüz bir yorum yapılmamış
SQL JOIN Türleri ve Aralarındaki Farklar
SQL JOIN Türleri ve Aralarındaki Farklar

 Dünyadan


  • PHPde Ternary Operatör Kullanımı: Kapsamlı Rehber
    PHP'de Ternary Operatör Kullanımı: Kapsamlı Rehber
  • Futbol nedir , forvet , santrafor kime denir
  • Kızıl Nehir Felaketi 1931
  • İngiltere'nin en yüksek beyaz tebeşir kayalıkları
  • Sıradışı kral : Kral Faysal
  • 8 Mart Dünya Kadınlar Günü

 Çok Okunanlar


  • BUGÜN
  • BU HAFTA
  • BU AY

» Henüz BUGÜN Haber Görünmüyor

» Henüz BU HAFTA Haber Görünmüyor

» Henüz BU AY Haber Görünmüyor

 Editörden


  • Tehlikeli QR Kodlara Karşı Güvenli Tarama
    Tehlikeli QR Kodlara Karşı Güvenli Tarama
  • Çileğin tarihçesi , yetiştirildiği ülkeler ve kullanıldığı alanlar
  • Ülkemizde kutlanan önemli gün ve haftalar
  • Oryantiring nedir nasıl oynanır
  • Türkiye'de ilk sinema ve gösterime giren film
  • Atatürk de 1935 yılından vefatına kadar yurt gezilerinde kullandı
  • İngiltere'nin en yüksek beyaz tebeşir kayalıkları
  • Sıradışı kral : Kral Faysal
  • 8 Mart Dünya Kadınlar Günü

 Son Haberler


  • Selçuklu ve Osmanlı Tarihini Keşfedin: 13 Soruluk Çengel Bulmaca
    Selçuklu ve Osmanlı Tarihini Keşfedin: 13 Soruluk Çengel Bulmaca
  • Türk Tarihi Çengel Bulmaca: Hunlar, Göktürkler ve Selçuklu Dönemi
    Türk Tarihi Çengel Bulmaca: Hunlar, Göktürkler ve Selçuklu Dönemi
  • Dünyayı Değiştiren Zihinler: 19 İpuçlu Bilim Temalı Bulmaca
    Dünyayı Değiştiren Zihinler: 19 İpuçlu Bilim Temalı Bulmaca
  • Bilim İnsanları Haftalık Çengel Bulmaca | 20 Soruluk Zihin Egzersizi
    Bilim İnsanları Haftalık Çengel Bulmaca | 20 Soruluk Zihin Egzersizi
  • ANA SAYFA
  • İLETİŞİM
    • » İletişim Bilgileri
  • Bize Ulaşın
  • GALERİ
    • » Foto Galeri
    • » Video Galeri
  • duyurular
  • HNS-ALFA Haber Sitesi
Bulmaca Sitesi eğlenerek çöz
©  bulmacasitesi.com.tr
İstek, Şikayetleriniz İçin Tıklayın
Tüm hakları saklıdır. İzinsiz kullanılamaz.