Bulmaca Sitesi: Bilginin Eğlenceyle Buluştuğu Portal.
logo
  •  
    •  » RÖPORTAJLAR
    •  » BİLİM VE YÖN VERENLER
    •  » SPOR
    •  » 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İ
    •  » İNGİLİZCE
  • KELİME AVI
  • GÜNCEL
  • HARF SEÇMELİ
  • GİZLİ KELİME
  • QUİZ BULMACA
  • KARE BULMACA
  • ARDUNİO
  • YAŞAM
30 Ekim 2026 Cuma
  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
Haber Görseli
Bu görsel, yapay zekâ ile oluşturulmuş temsili bir canlandırmadır.
        

"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 : 


Paylaşımda sorun mu yaşıyorsunuz?
Mobil Facebook paylaşımında haber bağlantısı görünmüyorsa:
  1. Haber sayfasını Chrome veya normal tarayıcınızda açın.
  2. Tarayıcının sağ üst köşesindeki üç nokta (⋮) menüsüne dokunun.
  3. Menüden Paylaş seçeneğini seçin.
  4. Açılan listeden Facebook veya Facebook Lite uygulamasına dokunun.

Bu yöntemle haber bağlantısı, başlığı ve kapak görseli paylaşımınıza doğru şekilde eklenir.

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


  • Dünyada Son 24 Saatte Öne Çıkan 4 Gelişme bir duyuru
    Dünyada Son 24 Saatte Öne Çıkan 4 Gelişme bir duyuru
  • Roma’yı Sonsuza Dek Değiştiren İmparator
  • 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


  • Tarihin En Büyük İsimleri Sorularımızın Karşısına Oturuyor: “Tarihle Yüz Yüze” Başlıyor
    Tarihin En Büyük İsimleri Sorularımızın Karşısına Oturuyor: “Tarihle Yüz Yüze” Başlıyor
  • Kırk Yıllık Sır Ortaya Çıkıyor! "Şehrin Sırrı"nda Geçmişin Kapıları Aralanıyor
  • Şehrin Sırrı Başlıyor: Büşra’nın Dünyası ile İngilizce’de Yepyeni Bir Hikâye Serisi Yayında
  • 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ı

 Son Haberler


  • Kendini Ne Kadar Tanıyorsun? 9 Farklı Testle Keşfet
    Kendini Ne Kadar Tanıyorsun 9 Farklı Testle Keşfet
  • Millî Mücadele’nin Başarıya Ulaşacağına Hangi Anda Kesin Olarak İnandı?
    Millî Mücadelenin Başarıya Ulaşacağına Hangi Anda Kesin Olarak İnandı
  • Kudüs’ü Geri Aldığı Gün İntikamı Neden Seçmedi?
    Kudüsü Geri Aldığı Gün İntikamı Neden Seçmedi
  • Bulmaca Serisi – Zihnini Çalıştır, Keyfini Çıkar!
    Bulmaca Serisi – Zihnini Çalıştır, Keyfini Çıkar
  • ANA SAYFA
  • İLETİŞİM
    • » İletişim Bilgileri
  • Bize Ulaşın
  • GALERİ
    • » Foto Galeri
    • » Video Galeri
  • duyurular
  • HNS-ALFA Haber Sitesi
Bulmaca Sitesi: Bilginin Eğlenceyle Buluştuğu Portal.
©  bulmacasitesi.com.tr
İstek, Şikayetleriniz İçin Tıklayın
Tüm hakları saklıdır. İzinsiz kullanılamaz.