sql >> Databáze >  >> RDS >> Oracle

Oracle AQ dequeue order

Domnívám se, že výchozí pořadí vyřazování z fronty je první dovnitř, první ven, takže budou vyřazeny ve stejném pořadí, v jakém byly zařazeny.

K druhému bodu, říkáte, že chcete serializovat dequeue na nejedinečné-id? To znamená, že máte ve frontě v podstatě mnoho front a chcete, aby zprávy z každé fronty spotřebovávala pouze jedna úloha v jeden okamžik?

To znamená, že máte zprávy:

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

Zde máte dva typy záznamů (a a b) a chcete, aby jedna úloha spotřebovala všechna a a další, aby spotřebovala všechna b. V takovém případě zvažte vytvoření více front?

Pokud selže více front, podívejte se na typ dequeue_options_t, který předáte proceduře dequeue – zejména dequeue_condition – to vám umožní vybrat pouze konkrétní zprávy, takže můžete spustit úlohu pro všechna písmena „a“ a další pro všechna „b“ atd.




  1. Webinář:Nové funkce v PostgreSQL 11 [Následovat]

  2. Codeigniter Aktivní záznam HAVING / WHERE db.field =db.field

  3. Jak sdílet jedno připojení mysql mezi více vlákny?

  4. Zobrazit všechny duplicitní řádky