2007.11.28 Wed

mysql_fetch_array VS mysql_fetch_assoc

mysql_fetch_array と mysql_fetch_assoc 添え字がつくかつかないかでどの程度速度に違いがでるのだろう・・・結果を見ないと夜も眠れないのでレッツチャレンジ

以下で実行したプログラムは単純にデータベースの値をselectして変数に格納するという処理を1万回ループさせた結果を比較してみました。

1回目

1.10664892197 秒 mysql_fetch_array
1.09572291374 秒 mysql_fetch_assoc

2回目

1.11120200157 秒 mysql_fetch_array
1.09469890594 秒 mysql_fetch_assoc

3回目

1.11140799522 秒 mysql_fetch_array
1.10241794586 秒 mysql_fetch_assoc

めっちゃ微妙ですが、mysql_fetch_assocがやはり早そうです。といっても誤差程度の速度差でした。

単純に配列に入るデータが多い分遅くなるということなんでしょうね。

var_dumpで表示した結果
mysql_fetch_array

array(2) {
[0]=> string(1) "1"
["KEY"]=> string(1) "1"
}

mysql_fetch_assoc

array(1) {
["KEY"]=> string(1) "1"
}

システム構築に関する覚書トップページへ