Здравствуйте, afkos, Вы писали:
A>Можно ли что-то сделать в предложенной схеме?
Еще одна таблица, в которую заносятся записи после фиксации трансакции , в ней transactionId, а от нее one-to-many на элементы трансакции. Брать в порядке transactionId и получать ее eventId.
Транзакция А — добавляет запись eventId = 11
Транзакция Б — добавляет запись eventId = 12
Транзакция Б — фиксирует транзакцию и записывает transactionId = 100 со ссылкой на eventdId = 12
Читатель:
— выполняет запрос select from TranscactionLog where transactionId > 99,
— получает запись transcationId = 100 и по ней eventId = 12,
— запоминает @lastTransactionId = 100
Транзакция А — фиксирует транзакцию и записывает transactionId = 101 со ссылкой на eventdId = 11
Читатель:
— выполняет запрос select from TranscactionLog where transactionId > 100,
— получает запись transcationId = 101 и по ней eventId = 11,
— запоминает @lastTransactionId = 101
Иными словами, очередь не из event, а из завершенных transaction, ссылающихся на свои event