sql >> データベース >  >> RDS >> Oracle

OracleAQデキュー順序

    私が信じるデフォルトのデキュー順序は先入れ先出しであるため、エンキューされたのと同じ順序でデキューされます。

    2つ目のポイントとして、非一意IDでデキューをシリアル化することをお伝えしますか?つまり、基本的にキュー内に多数のキューがあり、一度に1つのジョブだけが各キューからのメッセージを消費するようにしたいですか?

    つまり、メッセージがあります:

    1 | a
    2 | a
    3 | b
    4 | a
    

    ここでは、2つのタイプのレコード(aとb)があり、1つのジョブですべてのaを消費し、別のジョブですべてのbを消費する必要があります。その場合は、おそらく複数のキューを作成することを検討してください。

    複数のキューに障害が発生した場合は、デキュープロシージャに渡すdequeue_options_tタイプ(特にdequeue_condition)を確認してください。これにより、特定のメッセージのみを選択できるため、すべてのaに対してジョブを開始し、すべてのbに対して別のジョブを開始できます。




    1. SQLite Node.js

    2. Amazon RDS(MySQLまたはMariaDB)をオンプレミスサーバーに移行する

    3. ClusterControlが仮想IPを構成する方法とフェイルオーバー中に何を期待するか

    4. SQLServer-文字列内でn番目のオカレンスを検索します