Açıkla, daha önce toplanan istatistikleri kullanıyor (sorgu optimize edici tarafından kullanılıyor). Bir select count(*)
okuma her veri bloğunu okur.
Tahmini bir satır sayısı elde etmenin ucuz bir yolu:
select TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
where TABLE_NAME='planner_event';
Yapmış olsanız bile select count(id)
, ikincil bir dizininiz yoksa id
(ayrıca id
PRIMARY KEY olduğunu varsayarak ) çok uzun zaman alabilir . Tüm veriler (Satır Verileri dahil) B-Ağacı dizinlerinde depolandığından, a'nın gerçekleştirilmesi select count(PK_COLUMN)
hala önemli miktarda G / Ç'dir (tüm veri sayfalarını okuması gerekir). PK alanında ikincil bir dizininiz varsa, bir sayım gerçekleştirmek için daha az IO gerçekleştirebilir.