sql >> Base de Datos >  >> RDS >> Oracle

Orden de eliminación de la cola de Oracle AQ

Creo que el orden de eliminación de cola predeterminado es el primero en entrar, primero en salir, por lo tanto, se eliminarán en el mismo orden en que se pusieron en cola.

Para su segundo punto, ¿está diciendo que desea serializar la eliminación de la cola en la identificación no única? Es decir, ¿básicamente tiene muchas colas dentro de su cola y solo desea que un trabajo consuma mensajes de cada cola en un momento dado?

Es decir, tienes mensajes:

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

Aquí tiene dos tipos de registros (a y b) y desea que 1 trabajo consuma todos los a y otro que consuma todos los b. Si ese es el caso, ¿quizás considere crear múltiples colas?

Si fallan múltiples colas, eche un vistazo al tipo dequeue_options_t que pasa al procedimiento de dequeue, más notablemente dequeue_condition, esto le permite seleccionar solo mensajes específicos, por lo que podría comenzar un trabajo para todos los a y otro para todos los b, etc.