私は通知表(非常に大きなテーブル)を持って、私は最適なSQLソリューションですか?
1- 3-これらすべての通知を削除
2 - notification_logの表に、これらの通知を挿入するユーザーIDのすべての通知を選択し、以下のシナリオにあなたの助けが必要通知表
私の考え:
1-通知テーブルにフラグ列を作成し、上記のシナリオでは、ステップ2と3を行うには、それに更新トリガーに作成します。
ドローバックス:それは、パフォーマンスのための素晴らしいではないだろうので、私はいつも通知の大部分を選択しています(n)とOトリガ共犯
2 - 上記のシナリオ
に行う簡単なSQLプロシージャを作成しますドローバック:シナリオのステップがコミットに失敗した場合、すべてのプロシージャがロールバックされます
これを最適化する手助けをしてください。事前
ログに記録されていないすべての通知を選択し、ログに記録されているすべての通知を削除します。少なくともこの方法では、パフォーマンスのためにインデックスを使用しています。また、すでに持っているものは決して削除されません。 –