У меня есть таблица, где мне нужно ограничить по категориям, а затем найти все перекрывающиеся даты в некотором диапазоне дат. Это занимает около 2 секунд, что недопустимо для каждой транзакции, которая происходит со скоростью примерно 50 / с. Альтернатива состоит в том, чтобы создать какую-то таблицу подсчета - опять же, я не знаю, насколько это здорово, потому что все может быть не синхронизировано.
Date on Rent # Rented Category
9/5/2011 5 CATEGORY1
В Oracle (PL / SQL, если это имеет значение), как я могу поддерживать эту производительность, но гарантировать, что параллельные транзакции не приводят к увеличению / уменьшению, делая его на единицу меньше или на единицу больше, чем на самом деле?
У меня есть два типа транзакций, вроде поиска и аренды. Только арендная плата будет обновлять эту таблицу учета (и ищет только чтение из нее). Я не против, если арендная плата замедляется, но не хочу, чтобы эффективность поиска снижалась. Арендная плата может происходить так часто, как 5-10 в секунду.