現在SQLのパフォーマンスを向上させる為のチューニング方法を探しております。


環境:SQLServer 2000

SQL文上でのテクニックやインデックスの効率的な利用方法等おわかりでしたら教えてください。

現在以下のサイトを参考にしてチューニングはしてありますので、以下のサイトに
記述されていない方法があればベストです。

http://www.geocities.jp/mickindex/database/db_optimize.html

よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 登録:2007/10/04 09:53:36
  • 終了:2007/10/09 13:01:13

ベストアンサー

id:matsu-boolean No.2

matsu-boolean回答回数43ベストアンサー獲得回数72007/10/04 22:44:22

ポイント80pt

自分的には実行計画(アクセスプランとも言う)を見るのが常套手段かなと。

ちょっと宣伝ぽいですが、SQL開発ツール作ってます。

A5:SQL Mk-2

SQL実行計画を見る

狙ったインデックスが使われているかとか、Index scan より Index Seek の方がよいとか、、、実行計画を見ながらSQLを修正します。

id:bankband

実行計画はみていましたが、コストしか気にしていませんでした。

IndexScan、IndexSeek等操作も気にしてチューニングをしてみます。

ありがとうございます。

2007/10/09 12:55:58

その他の回答(1件)

id:icchan0000 No.1

icchan0000回答回数85ベストアンサー獲得回数52007/10/04 10:29:22

ポイント30pt

SQLServerにメモリを固定でできるだけ多く割り当てる。

ウチの場合、DBサーバは限りなく不要なサービスを停止して、1GBのメモリのうち800MB近くをSQLServerに割り当てています。

あと、可能であれば物理メモリ予約も。

http://www.atmarkit.co.jp/fdb/rensai/drk03/drk03_1.html

これはウチは面倒なのでやってません(^^;


メモリをたくさん使えば、かなり早くなりますよ。もちろん適切なインデックスを作るのも必須ですが。

id:bankband

メモリのチューニングはデフォルトのままでした。

確認してチューニングしてみます。

ありがとうございます。

2007/10/09 12:51:43
id:matsu-boolean No.2

matsu-boolean回答回数43ベストアンサー獲得回数72007/10/04 22:44:22ここでベストアンサー

ポイント80pt

自分的には実行計画(アクセスプランとも言う)を見るのが常套手段かなと。

ちょっと宣伝ぽいですが、SQL開発ツール作ってます。

A5:SQL Mk-2

SQL実行計画を見る

狙ったインデックスが使われているかとか、Index scan より Index Seek の方がよいとか、、、実行計画を見ながらSQLを修正します。

id:bankband

実行計画はみていましたが、コストしか気にしていませんでした。

IndexScan、IndexSeek等操作も気にしてチューニングをしてみます。

ありがとうございます。

2007/10/09 12:55:58
  • id:matsu-boolean
     間違って自分に「はてなスター?」つけちゃいました。消せないんですねこれ。(TT)
     気にしないでやってください。
  • id:bankband
    matsu-booleanさん回答ありがとうございます。

    さっそく「A5:SQL Mk-2」を利用させていただきました。

    分析した結果matsu-booleanさんのおっしゃるとおりでIndexSeekはなくIndexScanが多く使われてるみたいです。

    もう少し回答を募集してみたいと思いますので,ポイントはもう少々おまちください。
  • id:kn1967
    一.一度に扱うレコードの量は最小限度にしてあるか?
    一.返すレコードの量は最小限度にしてあるか?
    など、
    作業スペースや通信帯域を広げるのではなく有効に利用する事を考えたほうが
    システム構築だけでなく移植などの際にも有利かと・・・。


    一.SQLはシンプルか?
    メンテナンスの事を考えると、あまり複雑怪奇なものはビューを有効に使いたいものですね。


    一.正規化を行いすぎてテーブルを分けすぎていないか?
    一.更新手続きが最小限の作業で収まるようなテーブル構成になっているか?
    などといったようなデータベース設計段階での決断が最も重要だったりしますが・・・。
    このあたりは扱うデータの内容が具体的でないと回答は難しい。

    以上、コメント欄汚しで失礼。
  • id:bankband
    kn1967さんわざわざコメントありがとうございます。
    コメントいただいた内容をもう一度確認してチューニングしてみます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません