powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Справочные данные, QHash, и доступ к ним
43 сообщений из 43, показаны все 2 страниц
Справочные данные, QHash, и доступ к ним
    #38462992
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!
Приложение работает с БД, в базе имеется довольно много справочных данных. Для того что бы повторно не загружать их и уменьшить трафик, при старте загружаю все справиочники в QHash<int, QString> в одном единственном классе. Доступ получаю к ним через ф-ю QString valueById(int id), ну вместо value название справочника.
Так вот вопрос, правельный ли это подход, или лучше копировать QHash в новый объект? Вопрос в скорости работы и обращения к данным.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463131
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffДля того что бы повторно не загружать их и уменьшить трафик, при старте загружаю все справиочники в QHash<int, QString>справочники у вас не изменяются во времени, штоле? очень странно
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463159
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffДоброго дня!
Приложение работает с БД, в базе имеется довольно много справочных данных. Для того что бы повторно не загружать их и уменьшить трафик, при старте загружаю все справиочники в QHash<int, QString> в одном единственном классе. Доступ получаю к ним через ф-ю QString valueById(int id), ну вместо value название справочника.
Так вот вопрос, правельный ли это подход, или лучше копировать QHash в новый объект? Вопрос в скорости работы и обращения к данным.

Я ничего неправильного не вижу, за исключением необходимости нумеровать справочники.
Гораздо естественнее было бы идентифицировать справочники их именем, а не номером.
Скорость будет та же, а удобства в программировании гораздо больше.

Ну и не понятно, как у вас все справочники грузятся в один QHash и почему у них в значении только одно поле и только строка.
Полей-то много бывает.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463163
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychWulffДля того что бы повторно не загружать их и уменьшить трафик, при старте загружаю все справиочники в QHash<int, QString>справочники у вас не изменяются во времени, штоле? очень странно

Надо просто иметь возможность их всегда перечитать. В любой момент. Пользователю.
Ну или самому инвалидировать эти кэши, рассылая сообщения.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463319
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у них справочники - append-only то можно их обновлять по факту "промаха".
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463425
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли у них справочники - append-only то можно их обновлять по факту
"промаха".
Если у них из справочников заполняются списки выбора, то вместо промахов скорее будут
конфликты их пополнения.

PS: По моему опыту, такое кэширование для экономии траффика - бесперспективняк. Проще
сервер БД поместить в локалку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463480
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivНу и не понятно, как у вас все справочники грузятся в один QHash и почему у них в значении только одно поле и только строка.
Полей-то много бывает.
Спарвочники конечно же именование, и каждый я гружу в отдельй хеш, может я плохо объянил.
В базе храню последнее обновление каждого справочника, и проверяю по таймеру, и соотв. обновляю при необходимости.
Все эти справочники нужны только лишь в моделя представления, больше нигде. Т.е. в sql запросе я делаю минимальную выборку без join'ов и т.п. а в модели( наследую от QAbstractItemModel) использую как вывод текстовой инфы.
maytonЕсли у них справочники - append-only то можно их обновлять по факту "промаха".
Это как? Можете пояснить что такой "промах"?

Dimitry SibiryakovPS: По моему опыту, такое кэширование для экономии траффика - бесперспективняк. Проще
сервер БД поместить в локалку.
Это хорошо когда это можно сделать, но увы. А почему бесперспективно? Можно более развернутое пояснения вашей точки зрения?
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463509
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffЭто хорошо когда это можно сделать, но увы
Мне не встречались случаи, когда это было сделать невозможно. Только те, когда не хотели.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463513
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivegorychпропущено...
справочники у вас не изменяются во времени, штоле? очень странно

Надо просто иметь возможность их всегда перечитать. В любой момент. Пользователю.
Ну или самому инвалидировать эти кэши, рассылая сообщения.два вопроса:
1. откуда пользователю знать, что справочник изменился?
2. это реально даёт выигрыш? с учётом сложностей с программированием и поддержкой?

моё имхо совпадает тут с Дмитрием, бесперспективняк. Кажется, что мы видим попытку оптимизации не в том месте, где тормозит.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463542
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychMasterZivпропущено...


Надо просто иметь возможность их всегда перечитать. В любой момент. Пользователю.
Ну или самому инвалидировать эти кэши, рассылая сообщения.два вопроса:
1. откуда пользователю знать, что справочник изменился?
2. это реально даёт выигрыш? с учётом сложностей с программированием и поддержкой?

моё имхо совпадает тут с Дмитрием, бесперспективняк. Кажется, что мы видим попытку оптимизации не в том месте, где тормозит.

1. Пользоваьтелю незачем это знать, я писал выше, обновляется по таймеру, т.е. в базе храниться время последнего обновления справочника(любого) и если необходимо, перечитываем нужный нам справочник, соотв. сложностей здесь особых нет.
2. выигрыш в том, что хеш хранится в одном месте, мне нет необходимости загружать данные по нескорльку раз. Ну вот для примера. Есть два объекта, которым нужны один и тот же справочник. По вашему каждый объект должен загрузить себе этот справочник, и тоже как то его проверять на изменения, верно? Я же, создал объект, всегда предоставляющий актуальные данные по справочникам, и оба объекта обращаются к одному актуальному справочнику. При чем я взял в пример хеш со строковым значением, но в место этого у меня применяются и объекты (контактные данные фирм и т.д.). Т.е. убиваем двух зайцев, сокращаем в разы трафик, а так же довольно удобный интерфейс, в случае большого приложения.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463578
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffЭто как? Можете пояснить что такой "промах"?

Ну это похоже на работу DNS. Ты полез в свой локальный кеш. Не нашёл записи. Полез в DNS
следующего уровня. e.t.c. до самого верхнего. Но это полезно когда ты лезешь точно зная
новый ключик или знаешь что записи имеют time-to-leave.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463610
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonWulffЭто как? Можете пояснить что такой "промах"?

Ну это похоже на работу DNS. Ты полез в свой локальный кеш. Не нашёл записи. Полез в DNS
следующего уровня. e.t.c. до самого верхнего. Но это полезно когда ты лезешь точно зная
новый ключик или знаешь что записи имеют time-to-leave.
Спасибо, догадывался что это именно так. Т.е. если вдруг в спарвочнике не нахожу нужную запись, то перегружаю справочник.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463628
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wulffmaytonпропущено...

Ну это похоже на работу DNS. Ты полез в свой локальный кеш. Не нашёл записи. Полез в DNS
следующего уровня. e.t.c. до самого верхнего. Но это полезно когда ты лезешь точно зная
новый ключик или знаешь что записи имеют time-to-leave.
Спасибо, догадывался что это именно так. Т.е. если вдруг в спарвочнике не нахожу нужную запись, то перегружаю справочник.
Да но для ComboBox например такой вариант непрокатит
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463641
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovmaytonЕсли у них справочники - append-only то можно их обновлять по факту
"промаха".
Если у них из справочников заполняются списки выбора, то вместо промахов скорее будут
конфликты их пополнения.

PS: По моему опыту, такое кэширование для экономии траффика - бесперспективняк. Проще
сервер БД поместить в локалку.


У меня ровно обратный опыт.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463651
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonWulffпропущено...

Спасибо, догадывался что это именно так. Т.е. если вдруг в спарвочнике не нахожу нужную запись, то перегружаю справочник.
Да но для ComboBox например такой вариант непрокатит

Мы делали так: если пользователь не видет нужной записи в справочнике, у него есть специальная кнопка, нажимая которую он обновляет все справочники этой формы.
В общем, вполне адекватно и работает.
Да, кэши у нас без ограничения по размеру -- что достаточно странно, но так уж получилось. Но всё равно после определённого времени работы пользователь набивает в кэш всё, что нужно в его предметной области, и больше сверх того кэш не растёт.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463661
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonДа но для ComboBox например такой вариант непрокатит
Ну это решается довольно просто с QAbstractItemModel, ооочень просто. Я сейчас все данные только через нее делаю, очень удобно и довольно гибко получается.

MasterZiv У меня ровно обратный опыт.
То есть? Поясните пожалуйста. Мне очень важен опыт использования такого подхода, да и вообще как работать со справочниками
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463671
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffMasterZiv У меня ровно обратный опыт.
То есть? Поясните пожалуйста. Мне очень важен опыт использования такого подхода, да и вообще как работать со справочниками

Ну, что тут пояснять? Справочник один раз загружается на локальную машину и там живёт.
Это выгодно. Позволяет не загружать каждый раз этот справочник при откритии каждой формы.
Позволяет также экономить ресурсы сервера БД для выдачи каждому пользователю всех нужных
ему справочников.
Особенно это хорошо, когда справочники достаточно большые, что на самом деле не редкость.

Я не знаю, что ещё рассказывать, если что-то надо -- спрашивай.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463679
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivМы делали так: если пользователь не видет нужной записи в справочнике, у него есть специальная кнопка, нажимая которую он обновляет все справочники этой формы.
В общем, вполне адекватно и работает.
Да, кэши у нас без ограничения по размеру -- что достаточно странно, но так уж получилось. Но всё равно после определённого времени работы пользователь набивает в кэш всё, что нужно в его предметной области, и больше сверх того кэш не растёт.
От предметной области зависит. Я-бы сказал. Если мы работаем с курсами валют и точно
знаем что обновление происходит 2 раза в сутки то и клиента можно подстроить под такой
график.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463751
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffНу вот для примера. Есть два объекта, которым нужны один и тот же справочник. По вашему каждый объект должен загрузить себе этот справочник, и тоже как то его проверять на изменения, верно? что такое объект в данном случае? класс, представляющий бизнес-сущность? Если да, то не верно. Я считаю, что таких объектов вообще быть не должно.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463766
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wulffобновляется по таймеру, т.е. в базе храниться время последнего обновления справочника(любого) и если необходимо, перечитываем нужный нам справочник, соотв. сложностей здесь особых нета если в течении данной сессии работы с программой пользователю вообще ни разу не потребовался этот справочник? но мы ему его аккуратно обновляем каждый раз, и по крайней мере один раз при старте загружаем.

Как часто срабатывает таймер, кстати?
гипотетический пример- Вася, заведи мне в справочник нового клиента
- Да я завёл его уже 40 минут назад!
- Пичалька, ещё 20 минут придётся подождать ;))
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463854
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОт предметной области зависит.

ЧТО зависит ?
Как раз мой опыт говорит, что от предметной области в этом вопросе ничего НЕ зависит.

Курсы валют -- это не показательный пример, это не справочник.
Валюты -- да. Котировки курсов валют -- да. А сами курсы -- не справочник.
Потом, для работы в первичке они особенно и не нужны. В том смысле, что пользователь явно нигде в форме особенно их выбирать не должен (кроме самой формы корректировки курсов, разумеется).

Да, понять, что является справочником, а что -- нет, порой нетривиально. Это да, такое есть.
Это решает постановщик.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38463859
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychWulffНу вот для примера. Есть два объекта, которым нужны один и тот же справочник. По вашему каждый объект должен загрузить себе этот справочник, и тоже как то его проверять на изменения, верно? что такое объект в данном случае? класс, представляющий бизнес-сущность? Если да, то не верно. Я считаю, что таких объектов вообще быть не должно.

Вообще говоря, у нас кэш работает на уровне соединения с БД, на уровне сессии. И естественно, для всех форм он общий.
И естественно, он не просто так тупой, а результат вызовов запросов со всеми параметрами. И естественно это всё прозрачно для приложения, оно говорит только, надо ли использовать кэш для данного запроса.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38464467
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychWulffНу вот для примера. Есть два объекта, которым нужны один и тот же справочник. По вашему каждый объект должен загрузить себе этот справочник, и тоже как то его проверять на изменения, верно? что такое объект в данном случае? класс, представляющий бизнес-сущность? Если да, то не верно. Я считаю, что таких объектов вообще быть не должно.
Ну почему же? Допустим справочник адресов. Как можно в хеше хранить? Только в виде экземпляров класса, который содержит все поля. 1.Это удобно 2.Быстро, в плане доступа к информации

egorychКак часто срабатывает таймер, кстати?
Зависит от клиента, и от того что за справочник и вероятность обновления его. На практике это от 10 сек. Запрос делаю в отдельном потоке.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38464494
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wulffegorychпропущено...
что такое объект в данном случае? класс, представляющий бизнес-сущность? Если да, то не верно. Я считаю, что таких объектов вообще быть не должно.
Ну почему же? Допустим справочник адресов. Как можно в хеше хранить? Только в виде экземпляров классаа зачем его хранить? С хранением отлично справляется база данных
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38464505
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffНа практике это от 10 сек.
а что тогда экономим?
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38464530
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилWulffНа практике это от 10 сек.
а что тогда экономим?

Трафик, что ж еще. Но это для очень часто обновляемых справочников, на практике стоит 1-2 мин, и запрос то совершенно не ресурсоемкий, по сравнению с загрузкой всего справочника.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38464633
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffИзопропилпропущено...

а что тогда экономим?

Трафик, что ж еще. Но это для очень часто обновляемых справочников, на практике стоит 1-2 мин, и запрос то совершенно не ресурсоемкий, по сравнению с загрузкой всего справочника.

И время пользователя. И ресурсы сервера.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38464746
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни мы обсуждаем одну задачу но каждый видит ее в разных измерениях.
У кого-то БД далеко стоит. У кого локально. А у кого и встроена в приложение.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38465077
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wulffпо сравнению с загрузкой всего справочника.
А кто ж грузит целый-то справочник?.. Фильтровать надо только нужное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38466054
Wulff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovWulffпо сравнению с загрузкой всего справочника.
А кто ж грузит целый-то справочник?.. Фильтровать надо только нужное.

Как вы себе предстовляете фильтр справочника с двумя полями ид и наименование?

mayton Парни мы обсуждаем одну задачу но каждый видит ее в разных измерениях.
У кого-то БД далеко стоит. У кого локально. А у кого и встроена в приложение.
Это точно! Конечно, когда сервер на localhost, или в локалке одного предприятия(здания), да какие проблемы, грузи как и когда хочешь. А вот когда сервер отдален на нацать км, а скорость интернета оставляет желать лучшего, то тут по другому я даже не знаю как. И постоянно грузить справочники с кол-вом записей более 10к, ну знаете.... Проверял, тормоза жуткие, ползователи плюются и матерятся оч сильно.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38466362
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffЭто точно! Конечно, когда сервер на localhost, или в локалке одного предприятия(здания), да какие проблемы, грузи как и когда хочешь. А вот когда сервер отдален на нацать км, а скорость интернета оставляет желать лучшего, то тут по другому я даже не знаю как. И постоянно грузить справочники с кол-вом записей более 10к, ну знаете.... Проверял, тормоза жуткие, ползователи плюются и матерятся оч сильно.

Да нет, не так всё. Даже с локальной машины или с быстрой сетью выгрузить справочник в скажем 10-30 тыщ записей -- долго.
А побить справочник на части не хватает часто ни сил разработчкиков, ни желания аналитиков (это ж думать надо!), ни понимания пользователей -- у них подмотка по набираемому тексту работает, их устраивает.

Справочников таких у нас в системе несколько штук есть, очень часто используемые (контрагенты), при чём они побиты уже на по крайней мере две части -- поставщики и потребители, а иногда и на больше частей (части, соотв., меньше).
Но всё равно они большие.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38466530
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffКак вы себе предстовляете фильтр справочника с двумя полями ид и наименование?

Так же как у тебя в браузере фильтруются старые URL-ы: пользователь начинает вводить
наименование и когда задумается на секунду, на сервер уходит запрос с фильтром по
введённому куску.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38468851
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДа нет, не так всё. Даже с локальной машины или с быстрой сетью выгрузить справочник в скажем 10-30 тыщ записей -- долгоНекоторое время назад заспулил ( sqlplus ) в файл около миллиона записей. Примерно пять секунд. В рабочее время, на рабочей базе.
Может "долго" - где-то в другом месте?
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38469023
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovMasterZivДа нет, не так всё. Даже с локальной машины или с быстрой сетью выгрузить справочник в скажем 10-30 тыщ записей -- долгоНекоторое время назад заспулил ( sqlplus ) в файл около миллиона записей. Примерно пять секунд. В рабочее время, на рабочей базе.
Может "долго" - где-то в другом месте?

Наоборот, это "быстро" в другом месте.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38469074
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivBasil A. Sidorovпропущено...
Некоторое время назад заспулил ( sqlplus ) в файл около миллиона записей. Примерно пять секунд. В рабочее время, на рабочей базе.
Может "долго" - где-то в другом месте?

Наоборот, это "быстро" в другом месте.
Oracle стремителен когда речь идёт о его примитивных типах NUMBER/VARCHAR/DATE.
Как только вам надо будет заспулить LONG/BLOB/RAW/XML или вложенные таблицы
или списки в полях то результат будет более чем печален.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38469114
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Я имел в виду не это.
Одно дело, когда ты набиндил колонки на буфера, да ещё пачкой по скажем 1000 записей, фетчишь и тут же пишешь в файл.
Другое дело, когда ты создаёшь объект типа DataSet, с колонками, строками, полями, для последующего использования в приложении. Это сильно дольше, чем писать в файл или рисовать текст в окошечке.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38470244
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКак только вам надо будет заспулить LONG/BLOB/RAW/XML или вложенные таблицы
или списки в полях то результат будет более чем печален.И как часто всё это требуется в справочниках?
Особенно с учётом того, что sqlplus - штатный утиль, позволяющий получить некую точку отсчёта, а совсем не эталон загрузки данных на клиента.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38470249
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivДругое дело, когда ты создаёшь объект типа DataSet, с колонками, строками, полями, для последующего использования в приложении. Это сильно дольше, чем писать в файл или рисовать текст в окошечке.Так вам "быстро" или "как попроще"?
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38470377
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Ты вот зачем всё это пишешь ?
Какое это отношение имеет к обсуждаемому вопросу ?
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38473258
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivТы вот зачем всё это пишешь ?Зачем вы пишите вот это:
MasterZivДа нет, не так всё. Даже с локальной машины или с быстрой сетью выгрузить справочник в скажем 10-30 тыщ записей -- долго.?
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38473381
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WulffЭто точно! Конечно, когда сервер на localhost, или в локалке одного предприятия(здания), да какие проблемы, грузи как и когда хочешь. А вот когда сервер отдален на нацать км, а скорость интернета оставляет желать лучшего, то тут по другому я даже не знаю как. И постоянно грузить справочники с кол-вом записей более 10к, ну знаете.... Проверял, тормоза жуткие, ползователи плюются и матерятся оч сильно.
Даже в локалке проблема вытащить с SQL-сервера целиком большой справочник на клиента. Никто так не делает (например так делала 1С77 с базой на MSSQL, тормозило жутко по стомегабитной сетке). Даже если справочник из двух полей (Id, Name) то сначала уточнение у юзера чего он хочет, т.е. фильтр, а затем SELECT ... WHERE Name like ... но такие вещи требуют кардинальной переделки пользовательского интерфейса.

Исключение файл-серверы, например фокспро, там на клиента качается только нужное, например вывел ты в гриде справочник - реально прочитались по сетке только те записи, которые надо на экран вывести, остальное докачивается по необходимости.

Почитай про репликацию СУБД, сделать однонаправленную с сервера на клиента не сложно, но есть есть фундаментальные тонкости, которые надо учесть.

Если софт готовый, а удаленный пользователь неожиданно появился, то советую подумать об использовании RDP. Гораздо дешевле воткнуть комп в сетку с сервером, чем переписать софт на работу по медленным каналам.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38473428
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЕсли софт готовый, а удаленный пользователь неожиданно появился, то советую подумать об использовании RDP. Гораздо дешевле воткнуть комп в сетку с сервером, чем переписать софт на работу по медленным каналам.
Это не решает проблему а просто переносит ее в сферы отвествтенности ЦОД-ов или датацентров. Ведь
все эти петабайты справочников теперь будут бегать между БД и Фермой терминалов. Я как инженер
категорически не согласен с этим. А как потребителю мне конечно-же всё равно.
...
Рейтинг: 0 / 0
Справочные данные, QHash, и доступ к ним
    #38473718
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima TЕсли софт готовый, а удаленный пользователь неожиданно появился, то советую подумать об использовании RDP. Гораздо дешевле воткнуть комп в сетку с сервером, чем переписать софт на работу по медленным каналам.
Это не решает проблему а просто переносит ее в сферы отвествтенности ЦОД-ов или датацентров. Ведь
все эти петабайты справочников теперь будут бегать между БД и Фермой терминалов. Я как инженер
категорически не согласен с этим. А как потребителю мне конечно-же всё равно.
Проблему это решает. В остальном согласен что решает нехорошо. Чтобы сделать хорошо надо полностью переписать софт, легким допиливанием невозможно получить тонкого клиента из толстого. Стоит это делать или достаточно обойтись небольшим вложением в железо, сложно сказать не зная всех условий задачи.
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Справочные данные, QHash, и доступ к ним
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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