dポイントプレゼントキャンペーン実施中!

現在2つのサーバにて全く同じselect文で
速度検証を行っております。

仮にAサーバ(以降A) Bサーバ(以降B)
とします。

Aのスペックは
CPU:Intel(R) Xeon(TM) CPU 3.20GHz
メモリ:2GB

Bのスペックは
CPU:Intel(R) Pentium(R) 4 CPU 2.80GHz
メモリ:2GB

select文は以下の様な形です
select * from t1,t2 where t1id=t2id~

検索データ量
t1,t2共に40万件ほど

ちなみにA側においては既に稼動しており
軽めの何らかのアクセスは常にある状態です。

上記の条件の元select文を動かした場合
Aについては5分以上かかる状態
Bについては5秒ほどで検索できます。

ココまで差がでてしまうのは何が原因と
考えられますでしょうか?

追記
A側で検索を基本(テーブル結合等)を変更せずに
条件だけを変更した場合数秒で出るようになります。

情報として足りない事がありましたら
すみませんが、ご指摘願います。
どなたかヒント(気づき)でも構いませんので
お教えお願い致します。

A 回答 (1件)

t2.id(t1.id)のIndexが使用されていないのでしょうか。


explain select~で検索方法を確認した方が良いかと思います。

この回答への補足

Indexは使用しており
explainの結果を記載しておりませんでしたので、
記載しておきます。
A :total cost = 53285
B :total cost = 118269
A explain analyze:時間がかかりすぎているため計測できていません
B explain analyze:3373.39 msec 約3秒
となっております。

補足日時:2008/01/24 16:18
    • good
    • 0
この回答へのお礼

ありがとう御座います。

一応解決が行えました。
原因としては、最適化(analyze)でした。

毎朝アナライズをかけてはいたのですが、更新頻度
などのゴミのたまり方がやや多かった為毎朝一度だけの
アナライズでは追いつかなかったようです。

お礼日時:2008/01/24 17:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!