powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Медленная работа связи один ко многим
8 сообщений из 8, страница 1 из 1
Медленная работа связи один ко многим
    #32209623
Хомяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База данных на SQL 7.0

При переносе клиентской формы из VB 6.0 в VC#.NET наблюдается катастрофическое падение скорости работы формы с двумя гридами(таблицами) - главная (даты) + подчиненная (некие данные разные для каждой даты).

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

В VC#.NET конечно очень удобно работать с DataSet, SqlDataAdapter, SqlCommand. Но при каждом переходе вверх/вниз заметна задержка. Если клавишу зажать, то ВСЕ ячейки в столбце, через которые проходишь во время скроллинга, заливаются цветом выделения. Хотя должна быть подсвечена только текущая ячейка. Очень некрасиво выглядит и раздражает.

Как спасти ситуацию ?
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32210125
vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS рекомендует загрузить 2 таблицы в DataSet и сделать realtion
Как вы ищите подчиненные строки ?
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32210137
vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Должет быть установлент DataRelation
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32211146
Хомяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то весь и фокус, что все сделано в полном соответствии с документацией - настроены все DataSet, внутри - таблицы и связи DataRelation между ними. Все выглядит очень красиво, но работает МЕДЛЕННО!!!

Болезненный вопрос остается - как ускорить ?
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32211219
vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сколько записей в таблице ?
а индекс по child таблице есть?
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32211722
Хомяков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходная таблица откачивается с большой IBM AS/400 as is.
Записей около 26 000.

Мастер таблица представляет собой выборку DISTINCT по одному полю - дате из этой большой таблицы. Получается порядка 1200 записей. Выборка оформлена отдельным представлением VIEW на сервере.

Подчиненная таблица - та же самая исходная большая.

На одну запись из выборки мастер приходится 20 с небольшим подчиненных записей.

Все индексы, естественно, есть.
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32211825
vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индексы в БД и в DS разные, после выборки с применением DISTINCT DS о индексах ничего не знает.
Пробовали после загрузки DS установить явно PrimaryKey ?
ChildTable.PrimaryKey = new DataColumn[] {ChildTable.Columns["Id"]};
...
Рейтинг: 0 / 0
Медленная работа связи один ко многим
    #32228060
Denis A.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многовато закачиваете данных. 26 тысяч записей - это дофига.

Либо ставить таймер на onscroll (или как там называется событие изменения текущей записи в master) и по прошествию 300-400 мс бездействия после нажатия клавиш переоткрывать detail, либо одно из двух =)
...
Рейтинг: 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]