2012-03-05 7 views
1

unset() mysqlの結果がmysql_free_result()のようにメモリを解放しますか?mysqlの結果を解除する

+2

あなた自身で試してみることができます:http://php.net/manual/en/function.memory-get-usage.php – SeanJA

答えて

4

番号unset()は、php側の結果へのポインタをクリアしますが、それが指す結果には何もしません。 mysql_query()の結果は数値識別子であるため、MySQLがどの結果をmysql_fetch_array()などの関数を参照しているかを知ることができます。その結果が完了したことをMySQLに伝えるには、mysql_free_result()を使用する必要があります。後でphp変数の設定を解除することもできますが、それはちょうどresourceなので、設定を解除するのにかかる時間は、設定を解除して保存する数バイトの価値がありません。

+0

ありがとうございました。私は結果が何であるかをよく知っています。質問は、PHPが関連するメモリを落とすほどスマートだった場合(PHPはしばしばそのような前提を作る)でした。私はSeanJAのアドバイスを受け取りましたが、実際それはしません。 – dtbarne

+0

あなたがしなかったことを暗示するつもりはなく、将来その質問に出くわす人を明確にするだけです。結局のところ、それはQ&Aサイトです:) – Tim