※ ChatGPTを利用し、要約された質問です(原文:selectの速度について)
selectの速度についての問題
このQ&Aのポイント
AサーバとBサーバで同じselect文を実行しているが、Aサーバの方が処理に時間がかかっている。
AサーバとBサーバのスペックには差があるが、それだけでは差が出るほどの遅さは説明できない。
Aサーバでは条件の変更によって処理時間が改善されることがわかった。
現在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側で検索を基本(テーブル結合等)を変更せずに
条件だけを変更した場合数秒で出るようになります。
情報として足りない事がありましたら
すみませんが、ご指摘願います。
どなたかヒント(気づき)でも構いませんので
お教えお願い致します。
お礼
ありがとう御座います。 一応解決が行えました。 原因としては、最適化(analyze)でした。 毎朝アナライズをかけてはいたのですが、更新頻度 などのゴミのたまり方がやや多かった為毎朝一度だけの アナライズでは追いつかなかったようです。
補足
Indexは使用しており explainの結果を記載しておりませんでしたので、 記載しておきます。 A :total cost = 53285 B :total cost = 118269 A explain analyze:時間がかかりすぎているため計測できていません B explain analyze:3373.39 msec 約3秒 となっております。