http://www.sqlpassj.org/bbs/bbs_disp.aspx?forum_id=1¤t_pag...
PASSJ(SQL Server ユーザーグループ) 休会のお知らせ
経験がある専門の方々に質問された方が確実だと思われます。
その上で、2000って殆ど触ったことがないので、思い違いがあるかもしれませんが・・・
トランザクションを切り捨てるだけであれば、データ領域がちっこくなるのでパフォーマンスが改善するかもしれません。重い処理とよばれるのがどのような物か判断しかねますが、この手のデータベースでは、過去に発行したSQLを覚えていて、そのうえで解釈していますので、indexを振りなおす行為が必ずしもパフォーマンスの改善につながるというわけではないのではないでしょうか? …って、キー情報が大幅に入れ替わるような処理であれば…別かもしれませんが。チューニングに関しては構成環境に依存する部分が多いので、なんとも。見当違いな事を言っていたらゴメンナサイ。
http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?W-NIPS...
SQL Server 2000でいってみよう: 紀伊國屋書店BookWeb
こちらは単なる本の紹介。
引き続き調べてみました。
SQL Server2000で言われている統計情報というものが、トランザクションログとイコールであるとすれば、肝心のオプティマイザにも影響がでるかもしれません。
技術情報。
http://support.microsoft.com/default.aspx?scid=kb;ja;304519
[FIX] CREATE UNIQUE CLUSTERED INDEX ... WITH DROP_EXISTING クエリで非クラスタ化インデックスを再構築する
関連不具合情報。
。。。恐らく、indexの貼り方や、トランザクションで悩んでいるぐらいなので、再考の余地もないと思うのですが、SQLについて幾つか確認されてはどうでしょうか。
・テーブルの結合順序。
・絞込みの解釈順序。
・ビューなどで予め抽出しておける部分はないか。
・集計処理や関数処理が入るタイミングは適切か
パラメータ渡しで抽出条件を渡せるのならば、
ストアドの方がSQL解釈が入らないので早いかもしれませんね。
・・・他の人のレスが入ってくれないと、ものすごく不安。。。
たびたびありがとうございます。
現在、日々ARCServeでDATにバックアップを取っているのですが、トランザクションログが
肥大化しすぎて、DATに入りきらない状況です。
いろいろと考えたのですが、トランザクションログの切捨て+ストアド化がいいのかなと思ってます。
reindexは直近のクエリーを重点的に意識した再構築をしているようなので(憶測ですが)、
トランザクションログを切り捨てても、reindexによる期待している再構築の
パフォーマンスダウンはさほどないのでは?と考えました。
(運用では、同様のクエリーを投げることが多いため)
また、検索項目(Where句)が100近くありまして、各検索条件の演算子の関係で
全表検索がどうしても多く発生してしまいます。
(!=等)
このあたりがオプティマイザの負荷を高めて、クエリの実行というより
オプティマイザの負荷(実行計画の作成時間)が増加しているのではとおもいます。
統計による細かい調査はしていないのですが…
もしも、またなにかお気づきになりましたら、1ポイント送信等でお知らせいただければ
ポイントをお渡しいたしますので、よろしくお願いいたします。
すいません。質問の仕方が悪かったです。
トランザクションログファイルを削除することによってindexの再構築(reindex)の結果に変化があるのかを質問したかったです。。。
過去のSQLがトランザクションログに格納されているので、トランザクションログを切り捨てると、やはり、reindexに影響がありますよね…
重い処理は大きめのテーブルを複数結合しgroup byしている処理(複数)です。
SQLServerではオプティマイザがある程度チューニングしてくれるので、SQLの変更では
あまり期待した結果が得られず、ストアド化をおこなおうか迷っている段階でした。
現在は運用形態の関係でreindexで事足りているのですが、トランザクションログを圧縮することによって
reindexの効果が落ちるのではと悩んでいるところです。