Одно из приложений, о котором я позабочусь, проверяя таблицу БД Oracle каждые x секунд, чтобы увидеть, есть ли новые данные для обработки (другие приложения реального времени заполняют их).
Наш новый клиентский бизнес-процесс вынуждает нас в режиме реального времени заполнять эту таблицу большим количеством записей в одно и то же время (скажем, 10 000), но всего несколько раз в день. В следующий раз, когда мое приложение проверяет, есть ли что-то для обработки, оно встречает 10 000 записей и пытается это обработать.
Это не очень хорошо спроектировано и просто недостаточно хорошо масштабируется. Быстрое исправление будет ограничивать количество записей, которые приложение получает от Oracle, в следующий раз оно выберет еще 50 (или что-то еще) и т. Д.
Как я могу ограничить в Oracle SQL количество возвращаемых записей? Заказ имеет значение!
select *
from cool_table where date >= to_date('200901010000', 'YYYYMMDDhh24mi')
order by seq_nr, entry_dts;