|
Быстрый поиск в таблице значений по датам |
☑ |
0
Регистр
14.10.23
✎
08:58
|
Таблица значений курсов валют с двумя колонками: Дата и Курс
Даты идут с пропусками, например:
02.09.2023 470
03.09.2023 471
07.09.2023 460
В таблице примерно 2 тыс. строк
Обращение к ней идет очень часто, выбирается курс на определенную дату. Естественно, добавлен индекс по дате, и если такая дата есть в таблице - поиск проходит быстро, но если нет - (например 05.09.2023) - приходится делать линейный перебор строк.
Как ускорить поиск ?
(советы "открой для себя регистр сведений "Курсы валют" - не подходят, т.к. эта таблица курсов берется из SQL базы другой (не 1С) программы, и по условиям задачи работать надо именно с этой таблицей)
|
|
1
Волшебник
14.10.23
✎
09:42
|
Можно добавить пропущенные даты с сохранением предыдущего курса
|
|
2
Регистр
14.10.23
✎
09:53
|
(1) Спс. А то я уже собирался колхозить собственные индексы.
|
|
3
Смотрящий
14.10.23
✎
10:14
|
(2) Таблицу в запрос, в запросе эмулировать СрезПоследних
|
|
4
Злопчинский
14.10.23
✎
10:33
|
(0) линейный перебор строк... Капец... Даже тупо половинным делением и то получится порядка 10 операций...
.
А в снеговик не завезли для ТЗ типа как в ИТЗ 7.7 НайтиБлижайшуюМеньше, НайтиБлижайшуюБольше?
|
|
5
Волшебник
14.10.23
✎
10:39
|
(4) В восьмёрке есть индексация таблиц значений, в том числе по нескольким колонкам, но поиск только на равенство
|
|
6
H A D G E H O G s
14.10.23
✎
12:42
|
(0) Зачем нужно делать полный перебор, если даты нет?
|
|
7
Злопчинский
14.10.23
✎
14:23
|
(6) найти ближайшую ранешнюю. Если дата не найдена тогда от этой даты, циклом назад можно ещё и так
|
|
8
Кирпич
14.10.23
✎
14:26
|
(0) Если нет на 05.09.2023, то отнять день и искать снова. Ищи на 04.09.2023, ищи на 03.09.2023 и т.д пока не найдешь. Если пропуски маленькие, то будет быстро.
|
|
9
H A D G E H O G s
14.10.23
✎
14:26
|
(7) Спасибо. Понял, что ближайшую.
|
|
10
Волшебник
14.10.23
✎
15:45
|
(8) Китайское программирование. Лучше сделать ограничение в 3 такие китайские попытки, а то можно попасть в длительный цикл
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший