переполняется таблица [obimp_cldata]

Волонтерская поддержка приложения Bimoid Server (Windows). Общаемся по проблемам, ошибкам, делимся опытом их решения. Не забываем указывать версию серверной части.
Ответить
KubinskiyV
Сообщения: 6
Зарегистрирован: Ср июн 22, 2022 10:39 am

переполняется таблица [obimp_cldata]

Сообщение KubinskiyV »

добрый день! база крутится на ms sql 2019, возникла такая проблема: клиенты начали долго соединяться или не соединялись вовсе, полез разбираться, заметил что в таблице [obimp_cldata] очень много записей, 90к+, очистил полностью, и клиенты резко соединились и таблица наполнилась на 10к сразу записями. через неделю примерно там уже 60к записей. в чём может быть проблема и почему эта таблица заполняется постоянно таким большим кол строк. в списке клиентов 260 пользователей итого, активных столько не бывает, примерно половина.
либо что то с базой либо что то не допилено в коде. подскажите как с этим бороться?
inf
Site Admin
Сообщения: 157
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: переполняется таблица [obimp_cldata]

Сообщение inf »

Добрый! Ситуацию можно выяснить только попытавшись разобраться с данными в вашем общем списке контактов. Наугад сказать сложно что-то. Были разные случаи, когда админ вместо обычных уникальных имен аккаунтов наподобие ivank, vmarina, vadim105, начинает вписывать туда ФИО на русском языке с пробелами и именами отделов, вместо того, чтобы делать это в имени контакта. Или вообще добавляет сотрудников без имени аккаунта, но с именем контакта, такое тоже может приводить к непредсказуемым последствиям. Слишком много факторов, которые могут повлиять на эти данные, поэтому с каждый случаем нужно разбираться в отдельности.
KubinskiyV
Сообщения: 6
Зарегистрирован: Ср июн 22, 2022 10:39 am

Re: переполняется таблица [obimp_cldata]

Сообщение KubinskiyV »

ну имена у нас все одного стандарта, к примеру user_finance и т.д. группы я создаю сам ручками в общем списке на русском и помещаю туда пользователей. пользователей добавляю с домена и они так же авторизуются... ничего необычно нет вроде бы как, но что то пошло не так, и таблица пухнет. могу скинуть к примру таблицы которые к пользователям относятся в экселе, посмотрите на них. я не знаю как устроена логика и структура в бимоиде и почему там создаются записи в таких количествах, я даже не совсем понимаю на кой она нужна эта cldata
inf
Site Admin
Сообщения: 157
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: переполняется таблица [obimp_cldata]

Сообщение inf »

Что-то я не обратил внимание на вашу цифру в 260 пользователей. В целом распухание этой таблицы по мере входа пользователей процесс ожидаемый. Вы можете сами посчитать, если у вас 260 пользователей в общем списке контактов + несколько десятков групп, допустим 40, то каждому пользователю после первого входа приходят все 300 элементов общего списка контактов, которые становятся его локальной копией и хранятся в базе. 260*300=78к. Так что это не является проблемой для базы, вопрос в другом, почему при таком количестве запросы отрабатывают слишком долго. Во время реализации серверной части таких проблем не наблюдалось и с тысячами контактов, но последняя версия Ms sql server была тогда 2012, возможно что-то требует дополнительной оптимизации. Проверьте наличие индекса по acc_id у этой таблицы, если нет, то лучше создать. Если можете воспользоваться инструментами анализа запросов ms sql server, то возможно они тоже что-то прояснят.
KubinskiyV
Сообщения: 6
Зарегистрирован: Ср июн 22, 2022 10:39 am

Re: переполняется таблица [obimp_cldata]

Сообщение KubinskiyV »

по этому полю действительно нет индекса, возможно перенесло конвертором как то криво. хотел щас попробовать конвертнуть чистую базу с sqlite что б посмотреть дефолтные настройки таблиц, не получается, выдаёт ошибку, как только не пробовал вводить sql сервер, база sqllite свободна её никто не держит, всё службы выключены, одна и таже ошибка в итоге. ms натив клиент установлен
14:00:49: ======================================
14:00:49: Starting new conversion ...
14:00:49: Error: Users database not found or in use.
14:00:49: Finished.
inf
Site Admin
Сообщения: 157
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: переполняется таблица [obimp_cldata]

Сообщение inf »

Ну вы можете создать индекс через родную оснастку насколько я помню и это никак не должно повлиять на сами данные в таблице. Сама команда выглядит примерно так:

Код: Выделить всё

CREATE INDEX idx_obimp_cldata_acc_id ON obimp_cldata (acc_id);
KubinskiyV
Сообщения: 6
Зарегистрирован: Ср июн 22, 2022 10:39 am

Re: переполняется таблица [obimp_cldata]

Сообщение KubinskiyV »

я уже поставил SQLiteStudio и открыл дефолтную базу. оттуда скопировал все создания индексов. ну понаблюдаю, помогло или нет. спасибо
inf
Site Admin
Сообщения: 157
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: переполняется таблица [obimp_cldata]

Сообщение inf »

Не за что. В целом я не исключаю, что индексы могли не создаться в первую очередь из-за того, что с нынешними версиями sql server работа не тестировалась. Может быть со временем появились какие-то ограничения или настройки на пакетное создание таблиц и их индексов. Благо для БД есть все инструменты, с помощью которых админ может сам оптимизировать ее работу.
Ответить