Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Актуальные данные с базы / 13 сообщений из 13, страница 1 из 1
23.02.2020, 11:56
    #39929933
Sashaua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Добрый день,
Подскажите пожалуйста.
Delphi+Firebird
В базе есть ряд параметров которые добавляются/обновляются очень редко, например валюты единицы измерения итд. Эти параметры я из базы загружаю при логине пользователя в программу и если надо использовать эти записи я их дергаю локально.Они добавляются/обновляются настолько редко что для пользователей несоставляет труда перелогинится в программу при их изменениях.
Есть например таблица клиентов и она октивно меняеться , есть способ на клиентах держать актуальный список записей с таблицы а не ходить каждый раз за ними в базу?
...
Рейтинг: 0 / 0
23.02.2020, 12:09
    #39929936
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Точно также, разместить в памяти...
Только каждый раз на изменения клиентов, отправлять событие на инвалидацию кеша. При следующем обращении в кеш, смотрите, что кеш не валиден и перечитываете то что нужно из базы и обновляете попутно кеш... Еще обязательно надо добавить время жизни данных в кеше...
У вас каждое обращение в БД настолько замедляет работу, что вам необходим оверхед с кешем?
...
Рейтинг: 0 / 0
23.02.2020, 12:46
    #39929942
Sashaua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
X-Cite,
Я бы не сказала что критичесски замедляет.
А как Вы отправляете событие на инвалидацию кеша на клиенты?
...
Рейтинг: 0 / 0
23.02.2020, 12:52
    #39929943
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Используй массив записей - array of record
...
Рейтинг: 0 / 0
23.02.2020, 12:53
    #39929944
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Ещё вариант - использовать что-то вроде TMemoryDataSet
...
Рейтинг: 0 / 0
23.02.2020, 13:45
    #39929952
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
SashauaЯ бы не сказала что критичесски замедляет.

Значит надо оптимизировать то, что тормозит, а не то, что в голову взбредёт.

Только не говорите, что у вас выкачивается вся таблица клиентов полностью и потом она
локально фильтруется...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.02.2020, 14:02
    #39929962
zeon11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Sashaua,
Кэширование на клиенте - если на сервере толпа народу, или сервер совсем дохлый и не справляется, или сеть всё ещё на коаксиале. Если ничего этого нет, то и не стоит заморачиваться, больше ошибок наделаете. Ради интереса, посмотрите, сколько компоненты доступа делают своих служебных запросов к БД? На их количестве, Ваш лишний запрос просто затеряется.
Кстати, шаблоны отчётов храню в БД, отчёты постоянно "дёргают" порядка 30-40 человек, и это никак не влияет на производительность, хотя и предусмотрел кэширование шаблонов отчётов на клиентах, но эта функция так никогда и не пригодилась.
А если у Вас всё-таки проблема серьёзная, требующая кэширующего решения, то посмотрите в сторону SQLLite на клиенте: всё-таки БД, можете повторить в ней структуру своей основной БД, да и можете поднять в своей программе такую фишку, как "устойчивая работа программы в случае отсутствия сети"
...
Рейтинг: 0 / 0
23.02.2020, 14:14
    #39929964
Sinemurius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Все современные СУБД очень эффективно кэшируют результаты запросов. Если сотня клиентов обратится за одинаковыми данными, то сервер обратится к таблице только один раз, а потом будет вытаскивать данные из кэша.
Я думаю, Вы зря заморачиваетесь.
...
Рейтинг: 0 / 0
23.02.2020, 14:20
    #39929965
Sashaua
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Dimitry Sibiryakov,

Нет конечно, в каждом случае выбирается свой набор клиентов.
...
Рейтинг: 0 / 0
23.02.2020, 14:24
    #39929967
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
SashauaНет конечно

Тогда не майтесь фигнёй. Люди, способные грамотно сделать локальный кэш данных, такие
топики не начинают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.02.2020, 20:03
    #39930032
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
https://habr.com/ru/post/168725
оно вам надо?
...
Рейтинг: 0 / 0
23.02.2020, 20:27
    #39930037
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Sashaua
Добрый день,
Подскажите пожалуйста.
Delphi+Firebird
В базе есть ряд параметров которые добавляются/обновляются очень редко, например валюты единицы измерения итд. Эти параметры я из базы загружаю при логине пользователя в программу и если надо использовать эти записи я их дергаю локально.Они добавляются/обновляются настолько редко что для пользователей несоставляет труда перелогинится в программу при их изменениях.
Есть например таблица клиентов и она октивно меняеться , есть способ на клиентах держать актуальный список записей с таблицы а не ходить каждый раз за ними в базу?

Не люби мозги, грузи всё из базы.
Когда тормоза появятся, вот тогда и оптимизируй.
...
Рейтинг: 0 / 0
23.02.2020, 20:34
    #39930038
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Актуальные данные с базы
Sashaua > Есть например таблица клиентов и она октивно меняеться,
Sashaua > есть способ на клиентах держать актуальный список записей
Sashaua > с таблицы а не ходить каждый раз за ними в базу?

Это локальная сеть предприятия или какая-то медленная внешняя сеть?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Актуальные данные с базы / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]