Yaptıkları işlemler aynı olan bu fonksiyonları biraz araştırdım. Bir tek kullanım şekilleri ve syntax yapılarında farklılıklar gözüme çarptı. Fakat hız olayını araştırmaya başladım. php.net’de yazılmış yorumlarda birinin bu karşılaştırmayı yaptığını gördüm. 5 INT sütundan oluşan 1000 satırlık bir veritabanı hazırlamış ve bunlardan 100 tanesini seçmiş. Rakamsal hız değerleriyse şöyle:
SELECT * FROM bench… (mysql_fetch_object)
Sorgu süresi: 5.40725040436
Veri çekme süresi: 16.2730708122 (ort: 1.32130565643E-5)
Toplam süre: 21.6803212166
SELECT * FROM bench… (mysql_fetch_array)
Sorgu süresi: 5.37693023682
Veri çekme süresi: 10.3851644993 (ort: 7.48886537552E-6)
Toplam süre: 15.7620947361
SELECT * FROM bench… (mysql_fetch_assoc)
Sorgu süresi: 5.345921278
Veri çekme süresi: 10.6170959473 (ort: 7.64049530029E-6)
Toplam süre: 15.9630172253
Bu değerlere baktığımızda hepsinde sorgu sürelerinde başlayan hız farkı göze çarpıyor. Fakat veriyi çekme hızlarına baktığımızda çok büyük hız farklılıkları görüyoruz. mysql_fetch_array() ile mysql_fetch_assoc() birbirlerine yakın bile gözükseler 0.2 saniyelik bir fark önemlidir. Bu fonksiyonlardan ise en hantalı mysql_fetch_object() olmuştur.
Bu hız değerlerine bakarak size tavsiye ettiğim fonksiyon kendimin de her zaman kullandığı mysql_fetch_array() olacaktır.
Kolay gelsin,