Bir gün ben Hadoop öğrenmek ve olmayan yapılandırılmış veritabanına tüm bu verileri aktarmak gerekecek şüpheli ama bu kadar kısa bir sürede bu kadar önemli ölçüde performansını düşürebilir bulmak için şaşırdım zamanınMySQL performans
6 milyonun altında satır içeren bir mysql tablom var. Bu tabloda çok basit bir sorgu yapıyorum ve yerinde tüm doğru dizinlere sahip olduğumu düşünüyorum.
sorgu
SELECT date, time FROM events WHERE venid='47975' AND date>='2009-07-11' ORDER BY date
bildiğim kadarıyla söyleyebilirim bu yüzden doğru endeksi kullanıyorum döner
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE updateshows range date_idx date_idx 7 NULL 648997 Using whereaçıklamak olduğunu, ancak bu sorgu çalıştırmak için 11 saniye sürüyor.
veritabanı MyISAM ve phpMyAdmin tablo 1.0GiB olduğunu söylüyor.
Burada herhangi bir fikir var mı? Düzenlenen
: date_idx endeksleri tarih ve venid sütunlar hem de. Bunlar iki ayrı indeks mi? Venid ve tarihi kapsayan bir anahtarı ekleyerek
Hangi dizinlere sahipsiniz? – Pafjo
Açıklamanız sorgunuz 648997 satırı taramak zorunda olduğunu söylüyor (Muhtemelen dizinleri yeterince verimli kullanmaz. Kolonları ayrı ayrı indekslemiştim). Gerçekte kaç satır döndürülür? – nos
Durum şimdi ne –