Доброго времени суток,  !


Ошибка 1.
Для оперативного пересчета курса валют на текущий день
строится запрос вида

select value, max(date)
from currency
where currency_code = :param
group by value

select first 1 value from currency
   where currency_id = :id and currency_date <= :dt
order by currency_date desc

А если еще есть нисходящий индекс по currency_date то достаем курс за 1 индексное чтение. Очень бысто и сердито.

Причина - якобы курс валют заполняется не всегда, и например в понедельник с утра курс валют определяется по пятнице.

А есть еще организации, которые работаю в субботу и воскресенье. Там хочешь - не хочешь, а будешь на пятницу смотреть.

--
С уважением,
Сергей Ковалев.

Ответить