Доброго времени суток, Планетяне!
Есть 2 таблицы:
• в родительской таблице 10 тыс. строк
• в дочерней МИНИМУМ 10 тыс. строк (по факту всегда примерно в 2 раза больше, чем в родительской), т.к. там одна строка родительской может повторяться несколько раз (связь "один-ко-многим")
• я тяну из родительской в дочернюю разную информацию (по короткому уникальному ключу) - порядка 5-10 полей (столбцов)
Алгоритм (автопересчёт у меня в таких файлах всегда выключен):
1. разумеется, первое, что я сделал, это в отдельное поле прописал ПОИСКПОЗ по ключу (чтобы вычислить его один раз, а не для каждого поля) и остальные поля просто тяну ИНДЕКСом со ссылкой на поле с ПОИСКПОЗ
2. следующее, что я собираюсь сделать, это заменить функции ПОИСКПОЗ, СУММЕСЛИ(МН) и СЧЁТЕСЛИ(МН) на макросы (НЕ макрофункции, а макросы со вставкой)
Собственно, вот мы и подошли непосредственно к вопросу: если позиция уже вычислена, то "долго ли" ИНДЕКСы будут тянуть столбцы? Иными словами, как сильно будет тупить пересчёт?
P.S.: кому интересно, на таких объёмах УФ уже сильно тормозит пересчёт — применять минимально или вообще отказаться
Есть 2 таблицы:
• в родительской таблице 10 тыс. строк
• в дочерней МИНИМУМ 10 тыс. строк (по факту всегда примерно в 2 раза больше, чем в родительской), т.к. там одна строка родительской может повторяться несколько раз (связь "один-ко-многим")
• я тяну из родительской в дочернюю разную информацию (по короткому уникальному ключу) - порядка 5-10 полей (столбцов)
На 5 тысячах всё было довольно шустро, но уже на 10ти комп начал сильно призадумываться
Алгоритм (автопересчёт у меня в таких файлах всегда выключен):
1. разумеется, первое, что я сделал, это в отдельное поле прописал ПОИСКПОЗ по ключу (чтобы вычислить его один раз, а не для каждого поля) и остальные поля просто тяну ИНДЕКСом со ссылкой на поле с ПОИСКПОЗ
2. следующее, что я собираюсь сделать, это заменить функции ПОИСКПОЗ, СУММЕСЛИ(МН) и СЧЁТЕСЛИ(МН) на макросы (НЕ макрофункции, а макросы со вставкой)
Собственно, вот мы и подошли непосредственно к вопросу: если позиция уже вычислена, то "долго ли" ИНДЕКСы будут тянуть столбцы? Иными словами, как сильно будет тупить пересчёт?
Я понимаю, что вопрос сильно нуждается в практике и я её выполню (и отпишусь), но может, кто-то на своём опыте может уже сказать? Лично я пока склоняюсь к тому, что любая замена функций (что обычных, что макро) на вычисления внутри кода с последующей вставкой на лист всегда будет шустрее. И чем больше данных, тем более явный прирост в скорости. Основная проблема при этом только в том, что структура таблиц пока не утряслась и при любых движениях нужно будет править код
P.S.: кому интересно, на таких объёмах УФ уже сильно тормозит пересчёт — применять минимально или вообще отказаться
Изменено: - 26.12.2019 14:26:02
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)