Dizilerin karşı Nesneler

3 Cevap php

Ben şu anda bir site üzerinde çalışıyorum ve yükleme, işleme ve benzeri gibi verimlilik ve hız üzerinde konsantre bir odak yok.

Ben benim veritabanı bit ve bobs almak için mysqli uzantısı kullanıyorum, ama benim dataset çıktısı en iyi / en etkili yolu nedir merak ediyorum?

Şu anda ben $ mysqli-> FETCH_ASSOC () ve foreach () kullanıyorum. http://www.phpbench.com Ben veri sayma ilk fark yapar biliyorum okumak zorunda. (Ben yapı sonra optimize etmek için gidiyorum)

Sorum php veri şey bir resultset almak için hızlı olan değildir. Bir nesne oluşturma? Sayısal bir dizi? Ilişkisel bir dizi? Düşüncelerim bir nesne vardır, ama ben emin değilim.

Sadece merak, ben PHP internals aşina değilim gibi :)

3 Cevap

mysql_fetch_object 'yorumlarına altında PHP belgelerinde küçük bir kriter aslında var:

SELECT * FROM bench... (mysql_fetch_object)

Query time: 5.40725040436
Fetching time: 16.2730708122 (avg: 1.32130565643E-5)
Total time: 21.6803212166

SELECT * FROM bench... (mysql_fetch_array)

Query time: 5.37693023682
Fetching time: 10.3851644993 (avg: 7.48886537552E-6)
Total time: 15.7620947361

SELECT * FROM bench... (mysql_fetch_assoc)

Query time: 5.345921278
Fetching time: 10.6170959473 (avg: 7.64049530029E-6)
Total time: 15.9630172253

Bir nesne getiriliyor sayısal bir dizidir muhtemelen mysql_fetch_array veya mysql_fetch_assoc kullanarak biraz daha hızlı alma, yavaş, ama fark önemsizdir. Aslında, mysql_fetch_array Doç ve sayısal hem de getirir, ve mysql_fetch_assoc, şekil gitmek daha hızlıdır .. Ama performansından sonra iseniz, sadece kullanmak değil {[(4) }].

Ben bir sayısal dizi bir nesne daha sonra ilişkisel dizi izledi, en hafif olması muhtemeldir, ve inanıyorum. Ben en iyisi ile en rahat konum hangisi sözdizimi farklılıklar kadar çok katacak düşünüyorum, öyle değil mi.