
現在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側で検索を基本(テーブル結合等)を変更せずに
条件だけを変更した場合数秒で出るようになります。
情報として足りない事がありましたら
すみませんが、ご指摘願います。
どなたかヒント(気づき)でも構いませんので
お教えお願い致します。
No.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秒
となっております。
ありがとう御座います。
一応解決が行えました。
原因としては、最適化(analyze)でした。
毎朝アナライズをかけてはいたのですが、更新頻度
などのゴミのたまり方がやや多かった為毎朝一度だけの
アナライズでは追いつかなかったようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL(SQLite)である範囲のデータ...
-
SQL Date型の列から年月だけを...
-
抽出結果を分割して取得
-
SQL文の中に引用符を入れたい
-
Select結果をSelect
-
差し込み後、元データを変更し...
-
特定の文字列で列を区切るには?
-
エクセルで最後の文字だけ置き...
-
フィルターかけた後、重複を除...
-
Outlook 送受信エラー
-
カーソル0件の時にエラーを発生...
-
外部参照してるキーを主キーに...
-
updateでグループ化
-
エクセルのxans.について
-
for whichの使い方
-
データの先頭文字の置換
-
SQL文で、合計が0のレコードを...
-
VMware Player でCD-ROMドライ...
-
no appleとno applesの違いは?
-
SELECT 文 GROUP での1件目を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL Date型の列から年月だけを...
-
select文の書き方「半角カナ+...
-
Select結果をSelect
-
抽出結果を分割して取得
-
postgreSQLで更新後のデータを...
-
レコード件数のちょうど半分をe...
-
年月でdistinctしたい(PostgreSQL)
-
検索後のレコード選択について
-
副問い合わせの使い方
-
selectの速度について
-
UPDATE文の中でJOIN
-
2回目のselect文
-
SQL文の中に引用符を入れたい
-
条件付ソートについて
-
Loop文による検索条件の変更
-
ポストグレスでfrom句の中にsel...
-
取得行数の指定
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
おすすめ情報