質問
Bold forDelphiオブジェクト永続化フレームワークを使用するアプリケーションのデータベースでメンテナンスを行っています。このデータベースは数年前から運用されており、いくつかのテーブルは非常に大きくなっています。それらの1つは、Boldのトランザクション管理と関係があるBOLD_CLOCKLOG
です。
このテーブルをトリミングしたい(最大1.2 GB、2006年1月からのエントリ)。
システムがこの古い情報を必要としないことを誰かが確認できますか?
解決
bold_clocklogはオプションの表です。目的は、整数のタイムスタンプと対応するDateTime値の間のマッピングを保存することです。
これにより、任意のオブジェクトに最後の変更の日付を見つけることができます。
この機能が必要ない場合は、テーブルを空にしてお気軽に感じますが、問題は発生しません。
bold_clocklogに加えて、bold_xfilesは大きく成長する傾向がある別のオプションの表です。しかし、bold_clocklogとは異なり、bold_xfilesは空にすることはできません。
モデルタグ値では両方のテーブルをON / OFFします。
他のヒント
大胆な文書から:
bold_clocklog
タイムスタンプ列で使用されているトランザクション番号を対応する物理時間(2001-01-J 12:34)にマッピングできるようにするために、Persistence MapperはLOGをタイムスタンプと時刻に保存します。通常、このログはデータベース操作ごとに書き込まれますが、データベースへのトラフィックが非常に集中的な場合は、プロパティのClockLagnularityを設定することによってこのログが書き込まれることができることを制限することができます。イベントongetCurrentTimeもすべてのクライアントが同時にあることを確認するために実装されるべきです。このテーブルの使用法はタグ付き値で制御できます.model.useclocklog
だから私はこれがBoldObjectsのバージョン情報のために使用されていると思います。アプリケーションが必要ない場合は、データベースにこれを削除できます。
私たちの大胆なアプリケーションではその機能を使わない。モデル内のBold_ClockLogをオフにするだけで、その大きなテーブルをドロップしてアプリケーションを使用してみてください。何かが間違っているかどうかは確かに確信していますそれは一度にそう言う。
私たちは自分のカスタムオブジェクトヒストイを持っていることを言及することもできます。 actionについての時間、ユーザー、およびメモがあるObjectHistoryクラスのビッグ文字列(TSTRINGLIST.DELIMETEDTEXT)です。これにより、大胆なObjectHistoryを組み込んだほうがいいです。不利な点は、もちろん、履歴へのロギングが行われたときにコード内のコールを追加する必要があることもちです。