Снижение нагрузки на технику
Здесь:
http://akostina76.ucoz.ru/blog/2018-07-31-5259
… было про то, что снижение нагрузки на технику – главная задача. И про то, что у меня там этого не получилось сделать с той аккуратностью, которая рекомендуется.
А тут будет по то, как это иногда делают. Я писала, что у меня возникли странные задержки при работе в общей базе. Оказалось, что нет никаких задержек. Точнее задержка только при первом открытии формы (видимо он что-то в себе настраивает). Но я уже приготовилась разгружать конструкцию и переделала. А поскольку и так «летает», то не везде а только на самой длинной таблице.
Это не переделанная таблица расходных платёжек:
При входе сразу заполняются все списки создавая ту самых нагрузку на сеть. А так ли они мне нужны причём сразу все? Они нужны если я не помню, какой код что означает (здесь сразу видно название). Они нужны чтобы сразу видеть что вообще было, но ведь и это не всегда надо. Довольно часто интересуют все платёжки за период или с конкретным РНК. Так зачем тогда нагружать машину загрузкой этих справочников? И код экономической статьи (3 символа), в отличие от кода целевой (10 символов) легко запомнить.
Короче в платёжках на доходы сделала так:
После загрузки все списки пустые, но всех их сразу можно получить нажав всего одну кнопку (CMB). Но можно и не все вытаскивать, далеко не всегда это надо. Можно вытащить один конкретный, нажав кнопку левее списка. И даже этого можно не делать. Можно ввести сам код. Если он введён, то поиск идёт по нему. Ещё на экране появилось время выборки. Здесь 8 секунд список разделов вытаскивался, на сервере действительно мгновенно. Но если уж исследовать вопрос (там где что-то медленно работает) это полезно. Иногда чуть иначе написанный запрос может выполняться иначе и быстрее.
Снижение нагрузки чтобы не мешать другим и всем сразу – общее правило. Оно во всём проявляется. Я например базу 2018 года очередной раз буду перекачивать в середине августа. Приличные люди это ночью или в выходные желают, а так хоть в отпуск.
Что касается работы на сервере… то лучше на нем не работать))). Выкаченные базы лежат в Районе. Если играться, то лучше на них (просто потому что это нагрузка на ту машину). Напортить выборками нельзя, а вот загрузить ненужной работой, забыв поставить связь между таблицами можно. Тут, например:
… таблица расходных платёжек ZF_R должна быть связана со списком документов DOC по коду документа DOCID. Если этой связи нет (CROSS JOIN) он попытается вернуть все возможные комбинации строк. Не знаю миллионы их там получатся или миллиарды.
Ещё полезно при запросах с непонятным количеством строк ставить SELECT TOP 10, т.е вернуть только первые 10 строк (или 100 как у меня на всех экранных формах). Наверняка же если их выбралось больше, то забыт какой-то фильтр.
|