- - PR -
リンクサーバーからのデータ抽出速度について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-12-06 17:41
DBMSがどのようにデータを格納していて、どのような手順で結果セットを作成するか?
というイメージが付けば、ある程度のチューニングはできるようになります。 例えばこんなページでも雰囲気は掴めるかも http://www.atmarkit.co.jp/channel/dbtuning/dbtuning.html 最終的にはヘルプ、MSDN、technetで掘り下げると良いと思います。 http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/qrystats.mspx 実務ベースでは(これからはコストベースが主流になっていくみたいですから) 論理的にムリの無いSQLが書けるようになれば十分だとも思います。 |
|
投稿日時: 2007-12-06 23:27
>論理的にムリの無いSQLが書けるようになれば十分だとも思います。
十分かどうかは、関わる個所によって、異なると思います。 私は、DB担当者であれば必須だと思います。 いざ性能問題が発生した際に、SQL文を見ただけで原因が分かる ことは少ないと思います。 その際に、例えば意図したとおり、インデックスが利用されているか、 あるいは表結合方法が適切かなど分かる必要があると思います。 チューニングと言っても幅が広いです。 SQLが遅くなったからといって、SQLに原因があるとも限りません。 (他の部位の待機によってSQLの実行が待たされている場合もある。) それには、DBのアーキテクチャの理解が必要です。 ただ、性能問題はSQLが問題であることが多いので、取っ掛かりとして、 SQLの実行計画を読めるようになるのは良いことだと思います。 でも、SQL Serverって、本当に参考書籍が少ないと個人的に思います。 なので、まずは基本的な、インデックスや結合方法あたりから調べて いったらいかがでしょうか? 必ずしもそうではないのですが、取っ掛かりとして、 ・フルスキャンが発生していないか? ・表結合方法に最適なものが使われているか? などを見ていってはいかがでしょうか? もしくは、Oracleとかだったら参考となるものが多いので、そっちの 参考書も参考になる場合があるかもしれません。 |
|
投稿日時: 2007-12-07 11:10
>>論理的にムリの無いSQLが書けるようになれば十分だとも思います。
>十分かどうかは、関わる個所によって、異なると思います。 そうですね。言葉が足りませんでした。 SQLチューニングの範囲でのつもりで書きました。 パフォーマンスチューニングという意味では、 DB自体についても関連する分野についても、深い知識が必要になると思います。 |