Когда наступит утро позавчерашнего дня



Posted by Владимир Секретев, Клуб Любителей Бухгалтерского Учета on September 10, 1999 at 06:34:20:

In Reply to: Когда наступило утро posted by Анимица Анатолий on September 08, 1999 at 22:32:14:

А если так: сервер удерживает конечные состояния двух (для экстремистов - трех) предшествующих дней, и в том случае, если операция имеет дату "сегодня", "вчера" или "позавчера", для старта пересчета используются конечные состояния "вчера", "позавчера"
или днем раньше соответственно.

Была у меня такая мысль, когда я писал свою заметку. Однако я стараюсь руководствоваться принципом "разумной достаточности" и максимальной легкости воплощения, а не
только тем, сколько это потребует ресурсов от компьютера.

С точки зрения программиста, а не писателя, объявление последних трех-четырех дней "текущей" датой реализуется предельно просто - преставлением того самого "вектора" назад. Эффект от такого приема будет примерно таким же, как и от предложения Анатолия, однако реализация проще и надежнее.

Поясню, почему. Сейчас, стоит залезть в прошлое хотя бы на один день, происходит скачек от оптимизированного пересчета текущего дня на пересчет всего месяца. То есть налицо диалектический переход количества в качество. А так как наиболее часто работа ведется в некотором диапазоне дней явно отличных от одного последнего дня, то возникает желание расширить этот диапазон, отнеся границу "скачка" в прошлое. Эффект, я надеюсь, будет весьма ощутимым. Запоминать же вычислительные состояния на несколько последних дней даст почти тот же эффект, так как здесь, по сравнению с моим предложением, эффективного скачка не произойдет.

Теперь замечание следующего толка. Известно, что стремясь наиболее быстро завершить расчеты в текущем дне, сервер перестает отвлекаться на внешние запросы даже в режиме DUAL. Вероятно, от этого придется отказаться, если Аркадий реализует, будем говорить, наше с Анатолием предложение. Ведь если некто отодвинет границу "текущего дня" дней на 10, то на этом интервале режим DUAL не будет давать эффекта, а это может оказаться весьма заметным и вместо оптимизации получится замедление.




Пpишедшие ответы: