powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как быстрее вывести данные в таблицы
8 сообщений из 8, страница 1 из 1
Как быстрее вывести данные в таблицы
    #36774297
Фотография artzub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Дано:
Код: plaintext
    4 таблицы: T1, T2, T3, T4.

Задача:
Код: plaintext
1.
2.
3.
    При перемещении по записям в T1 обновлять записи в таблицах T2, в соответствии с FK.
    При перемещении по записям в T2 обновлять записи в таблицах T3, в соответствии с FK.
    При перемещении по записям в T3 обновлять записи в таблицах T4, в соответствии с FK.
    Вообщем при перемещении по записям в старшей таблице обновлять каскадно данные в младших.

Решение:
Создаем 4 BindingSource для каждой таблицы.
Загружаем все данные в каждую таблицу.
При перемещении по записям в старшей таблице изменяем фильтр в BindingSource соответствующих младшим таблицам.

Получается тормозно, но через запросы еще больше тормозит.

Подскажите более быстрое решение.

авторВ T1 > 10000 записей
В T2 > 40000 записей
В T3 > 60000 записей
В T4 > 128000 записей

____________________________________________________________________________________
Жизнь хитрая штука - как только все карты на руках — она решает сыграть с тобой в шахматы!
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36774300
Фотография artzub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да еще момент, данные вывожу в GridControl от DevExpress.
Может на базе данного компонента реализовать более быструю работу?
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36774334
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artzubДа еще момент, данные вывожу в GridControl от DevExpress.
Может на базе данного компонента реализовать более быструю работу?

Вы применили ущербную модель UI под названием "мастер-деталь", от которой отказались еще в прошлом веке.

При помощи GridControl от DevExpress Вы сможете сделать куда более понятный и удобный интерфейс типа "вложенные таблицы". В таком случае пользователь, нажав на кнопку детализации заглавной таблицы сможет "развернуть" данные подчиненной таблицы в той же визуальной области.
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36774390
Фотография artzub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльболее понятный и удобный интерфейс типа "вложенные таблицы"
Думал об этом, но вот вопрос на сколько информативно это будет.
Пользователю интересно одновременно просматривать данные в этих 4 таблицах.
И еще момент на сколько это увеличит скорость работы с данными.
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36774608
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artzub,
Я, конечно, не знаю, о какой предметной области мы говорим, но слабо себе представляю, зачем пользователю видеть сразу 4 таблицы, но при этом лишь последняя может быть полезной всеми своими записями (ведь в 1,2 и 3-й таблице пользователь последовательно выбрал конкретно сейчас нужные ему строки).
На самом деле это типовой пример "последовательной детализации". А ее ярчайший представитель - UI типа "дерево". DevExpress предлагает более продвинутый его вариант - вложенные таблицы
(только не забудьте его купить!).
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36774749
Фотография artzub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль(только не забудьте его купить!)
Вот именно что стоит вопрос о покупке.
Если реализую интерфейс, который будет убедительно более удобным и логичным, контора приобретет компоненты. Иначе на свалку. =(

Вообщем понятно, что надо думать и крути. Пока про оптимизацию ни чего не увидел, только про концепцию интерфейса поговорил =)
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36774829
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artzubПока про оптимизацию ни чего не увидел, только про концепцию интерфейса поговорил =)

Кроме фильтра в BindingSource можно попробовать Select в DataTable. Более ничего в голову не приходит.

Хотя самое разумное, на мой взгляд, - грузить запросами из БД. Так можно отсечь подавляющий объем "лишних данных".
Я опять же, не зная предметной области, не уверен, что пользователь должен пролопатить все данные за один присест.
Обычно - открыл одну сущность, посмотрел, что там у нее в деталях. Потом провалился еще на один уровень и т.д. Когда настанет время перейти к очередной сущности "верхнего уровня", данные в локальных источниках могут уже устареть и за ними все равно придется лезть в БД запросами.
...
Рейтинг: 0 / 0
Как быстрее вывести данные в таблицы
    #36775071
Фотография artzub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Буду думать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как быстрее вывести данные в таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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