クライアントから大量のデータを毎週インポートし、SQL Serverデータベースの内部テーブルに追加します。私たちは、このデータから毎週実行される特定のレポートの一時テーブルを作成すること(そしてうまくいけば、削除すること)がより簡単で便利であると考えるマネージャーを持っています。テーブルが多いとパフォーマンスが低下しますか?
(1ドル以上の借り手が21歳を超える顧客のこのメインテーブルからレコードを選択し、請求書を送信してから、現在のプロセスは、選択されたレコードのセットのそれぞれを、その週の個別の一時テーブルにダンプし、請求書が送信された後に、別のテーブルに結合されますこれらのテーブルが削除されることになっている。物事を行うには悪い方法では、私が知っている...あなたは私のことを言う必要はありません!)
私の見解は、すべてが列を使用して、一つのテーブルに入らなければならないことですそれが週のデータであることを示すフラグであり、そのデータをそこに保持し、その列を使用してクエリを実行します基準としてのmnの値。または、週のレポートに使用されたレコードだけを削除します。
NOW尋ねるの....
私の全体のポイントはこれです:
余分(不要)テーブルは、データベースのパフォーマンスが低下するのトンを持っていますか?
それとも、単にディスクスペースを無駄にして、SQL Server Management Studioのオブジェクトエクスプローラウィンドウで、古いテーブルの数百をスクロールする必要がある場合に混乱のように見えるが、それは本当にパフォーマンスを傷つけることはありませんでしょうか?
私たちは、これらすべての一時テーブルを作成するルーチンをスクラップし、ただ一つのメインテーブルからすべてを選択するには、それを書き換える必要がある理由のために、このマネージャに正当化を提供しようとしています。何かをやり直すのは少し難しいかもしれませんが、一度やり直すと、より効率的で保守しやすいはずです。
私はこれについて間違っている可能性がありますが、私の経験では:いいえ、パフォーマンスには影響しません。ディスクスペースが無駄になり、データベースがメンテナンスの悪夢になってしまいます。 – Siyual
自分自身をきれいにするメモリの一時テーブルで使用しないのはなぜですか? – Tanner
それはちょっと私が思った、Siyualです。 私は、私が言ったように、私たちのプロセスを完全に再設計する必要があることを知っていますが、今私はこれを人々に説明して、理解し、必要な理由を理解しようとしています。 –