1

不要な古いデータを大量に削除するために、複数のテーブル/データベースで使用される Sybase ASE (15.7 に移行) データ パージ ユーティリティに取り組んでいます。

  1. 入力テーブル名を受け取ると、自動的に子テーブルを割り出し、データを削除します。しかし、Oracle の「Connect by .. Prior」句のような階層クエリ句は見つかりませんでした。これを実装する他の方法はありますか?
  2. 複数のトランザクション/コミットを少しずつループしてデータを削除しています。削除後、どのくらいの間隔で「再編成再構築」を行う必要がありますか?
  3. 統計を更新する必要がありますか? 必要な場合、統計の更新を行う前に考慮すべき基準は何ですか?
  4. 一部のテーブルはパーティション化されている場合があります。パーティションの観点で考慮すべきことはありますか?
  5. 私たちの DB の一部 (インデックスだと思います..?) はクラスター化されています。クラスタリングについてはよくわかりません。クラスタリングの観点から何かを考慮する必要がありますか?
  6. 処理の最後に電子メールを送信します。組み込みの電子メール パッケージは、Oracle の UTIL_SMTP に似ていますか?
4

1 に答える 1

0

ポイントの一部は現在空白であり、機会があれば埋めます。

1 -この機能を Sybase ASE にレプリケートする方法については、この記事を参照してください。

2 - dba スタックに関する私の投稿では、reorgをいつ実行するかを決定する際の多くの重要なポイントについて説明しています。

3 - 統計の更新は再編成 (統計の更新も行う) よりも迅速に実行できるため、再編成間のパフォーマンスを向上させるために使用されることがあります。それらをいつ実行するかの決定は、パージを行ったときにパフォーマンスがどれだけ速く低下するかによって異なります。 sp_sysmonは、意思決定に役立つメトリックを取得できる貴重なツールです。

4 - 分割されたテーブルは、パージに実際には影響しません。他の構成よりもデータにすばやくアクセスできるため、削除のパフォーマンスが向上する可能性がある別のケースです。

5 - そうでもない。理論的には、削除でクラスター化インデックスを使用している場合、削除は少し速くなるはずです。クラスター化インデックスは、挿入をヒープする代わりに、レコードが挿入されるときにデータ ページの順序を維持するために使用されます。

6 - Windows ベースのシステムの場合、xp_sendmailを使用できます。*nix ベースのシステムでは、xp_cmdshellを使用してsendmailにアクセスできます。これらの拡張ストアド プロシージャのドキュメントは、こちらにあります。

于 2013-04-22T19:30:40.983 に答える