Кешируем SQL

07.10.09

База данных - Инструменты администратора БД

SQL Любит кушать память, но вот как он это делает - секрет...

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
cashe.ert
.ert 37,50Kb
70
70 Скачать (1 SM) Купить за 1 850 руб.

Из личных опытов заметил, что после перезапуска SQL сервера некоторое время чувствуется определенное подтормаживание при работе в 1С.

Логично предположить, что SQL не знает какие именно данные нам понадобятся при работе и подгружает их в оперативную память по мере необходимости.

Данная обработка производит чтение "актуальных" данных из базы, которые потом остаются в оперативной памяти SQL сервера, что несколько ускоряет работу...

 

Имеет смысл использовать обработку только после перезагрузки SQL-сервера - например при входе первого пользователя в базу. Обработка не кеширует бухгалтерских проводок/итогов и записей журналов расчетов.

 

Обработка требует наличия 1cpp.dll

 

Учитывайте, если вы хотите использовать подобное кеширование у себя в системе то обратите внимание, что данная обработка универсальна и кеширует все справочники/регистры/документы. Возможно вам нужно кешировать не все виды...

См. также

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простецкий скрипт переименования файлов в папке в нижний регистр, будет полезен программистам и системным администраторам имеющим навыки програмирования в 1С. Можно легко настроить под себя, спасает мне периодически час времени, может, кому еще будет полезен.

1 стартмани

18.02.2022    4025    0    igor7777    6    

2

Инструменты администратора БД Программист Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    5879    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11561    phsin    20    

28

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15863    4    devlabnn    2    

6

Инструменты администратора БД Бухгалтер Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3854    1    Genyak    1    

0

Инструменты администратора БД Системный администратор Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    28076    19    tux    3    

1

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    37190    rudjuk    21    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Noy 1079 06.10.09 19:08 Сейчас в теме
Если что не так написал - не пинайте (sql только изучаю). Субъективно скорость работы (серфинг по справочникам/журналам) быстрее, если перед этим запустить обработку.
2. Altair777 645 06.10.09 19:17 Сейчас в теме
А проверочку на скульность базы не надо вставить? :-)
3. Noy 1079 06.10.09 21:23 Сейчас в теме
(2) наверное надо, но обработка для программистов, а не для пользователей...

поправлю завтра ;)
4. CheBurator 2712 07.10.09 00:48 Сейчас в теме
из того что вынес из семинара софтпоинтцев: скуль кеширует данные. и это хорошо. но если составить неоптимальный запрос - то можно "закешировать" кучу ненужных данных, которые выдавят из кеша действительно актуально-нужные данные...
6. Noy 1079 07.10.09 11:53 Сейчас в теме
(4) Полностью согласен! Но все-таки хочется чувствовать себя умнее железки и руководить процессом самому...

(5) Спасибо за ссылку! Полезная статья!
7. CheBurator 2712 07.10.09 16:09 Сейчас в теме
(6) если полазить по сатйу софтпоинтцев и рикцентра - можно мнооогог чего накопать полезного...
8. Noy 1079 07.10.09 16:24 Сейчас в теме
(7) Самое обидное, что раньше там часто бывал, да вот раньше знаний было меньше, меньше понимал - вот и "изобретаю теперь велосипеды" которые там же скорее всего и видел.
9. CheBurator 2712 07.10.09 18:21 Сейчас в теме
(8) не баись! не ты один такой! ;-)
5. vcv 89 07.10.09 10:19 Сейчас в теме
Есть еще возможность фиксирования таблиц в памяти. Тоже тематично.
http://www.softpoint.ru/article_id33.htm
10. Valet 56 07.10.09 21:58 Сейчас в теме
Как вариант развития обработки:
Интереснее было бы "прогреть" SQL "реальными" данными. К примеру делать снимок таблиц, которые в кэше занимают больше всего, сохранять его и при рестарте сервера прокачивать именно их.
11. leshik 34 08.10.09 07:59 Сейчас в теме
Хотелось бы вставить небольшую ложку дегтя :-)
1С++ форум, Dmitro
И процитировать краткое резюме:
Вобщем: маленькая база, при большом объеме памяти может и разместится в кеше ито не вся.
А вообше для баз солидных размеров задача вообще не правильная - это не нужно.

Но в целом - ставлю конечно же +
12. Noy 1079 08.10.09 12:01 Сейчас в теме
(11) Ну код из ссылки грузит всю базу в память, мой же код грузит не все подряд - по скриншоту видно что скуль после кеширования сожрал 440 Мб - это я запускал на базе в 12Гб...
конечно же к таким операциям стоит относится очень осторожно. Например мой код тоже не оптимален: если в справочниках есть строки неограниченной длины - он их "прокеширует"...
В реалиях своей базы я кеширую не все справочники (только необходимые), а в некоторых справочниках только отдельные поля - то есть всю ту информацию, которая выводится в визуальных формах и/или используется при проводке документов...
13. Noy 1079 08.10.09 12:17 Сейчас в теме
12+ Журналы, регистры и документы тоже грузятся только "актуальные"...
14. Dolly_EV 269 28.10.09 12:23 Сейчас в теме
мне не помогло :cry:
по крайней мере, справочники (формы списков) притормаживают точно так же...остальное не проверял (т.к. борюсь в данный момент именно с тормозом списков справочников)

и еще момент, если это дело использовать - как отловить момент запускалась уже обработка или нет?
Или более точно сформулируем: как узнать, что запуск 1С на данной базе - первый (еще никого нет в базе)
15. Noy 1079 28.10.09 13:17 Сейчас в теме
(14) в твоем случае эта обработка вряд ли поможет. Лучше запусти Отладчик - там замер производительности и "побегай" по форме (могут тормозить функции получения остатка - меняй на прямой запрос "ВыполнитьСкалярный", всякие там проверки Выбран() замени на ПустоеЗначение и тд тп)
16. Noy 1079 28.10.09 13:18 Сейчас в теме
15+ Получение периодики тоже нормально подвешивает формы списка
17. Dolly_EV 269 28.10.09 13:42 Сейчас в теме
(16) по следам этого топика:
http://www.forum.mista.ru/topic.php?id=408845&page=3

уже ВСЕ ОТКЛЮЧИЛ! (остатки, цены, ВСЕ!) все равно тормозит... ладно это не в тему немножко))
18. Noy 1079 28.10.09 14:28 Сейчас в теме
(17) Судя по той теме косяк был найден...еще в мае. Или избавление от периодики не помогло?
Если так, то попробуй отдай базу vde69 - пусть покрутит. Или мне скинь - я конечно не суперпроф, но может что дельное найду
19. Dolly_EV 269 28.10.09 15:44 Сейчас в теме
ВСЕ! Нашлось! "?(Товар.Алкоголь.Выбран()=1,2,0)", мать его висело на колонке с пиктограммой... а колонка уууууузенькая и неприметная ;)
20. Akela 19 17.11.09 11:21 Сейчас в теме
Нехрен перегружать так часто сервер SQL
u_n_k_n_o_w_n; +1 Ответить
Оставьте свое сообщение