[PHP-users 32449] Re: php+unixODBC+freetds+MSSQL でレスポンスが遅い
Masaaki Suga
suga @ tenrikyo.or.jp
2007年 7月 17日 (火) 10:13:32 JST
自己レスです
Masaaki Suga <suga @ tenrikyo.or.jp> wrote:
>
> レスポンスが異常に遅いのです
>
> (SQL1)
> select a1 from aaa where a1='001'
>
> ※ テーブルaaaのフィールドがa1,a2,a3あって
> a1がプライマリキーとする
>
> SQL1は瞬間に結果が返ってきます
> が
>
> (SQL2)
> select a1 from aaa
>
> 全体の件数は,2000件ぐらい
>
> SQL2を実行すると,レスポンスが帰ってこない
> (帰ってこないというか,ブラウザがタイムアウトになる感じです)
>
> 同じSQL2をtsqlコマンドで実行すれば,問題なく瞬時に返って来ます
>
> サーバーは:solaris9(sparc)
> php5.0.5です
>
> また,phpからのSQL発行は
> mssql_xxxxxx関数を使っています(ODBC関数ではなく)
apacheのerror_logに
FATAL: erealloc(): Unable to allocate 2917888 bytes
と出ています
cgiモードでなくcliモードで実行して
別のtelnetでvmstatで見てみると確かに
memoryのfreeがだんだん減っていっています
freetds.iniしか設定していませんが
odbc.iniなども設定が必要なのでしょうか?
ただ,実際にSQLは実行しているので設定は問題ないような気もしますが・・・
-------------------------------
須賀正明:suga @ tenrikyo.or.jp
-------------------------------
PHP-users メーリングリストの案内