|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
База данных на SQL 7.0 При переносе клиентской формы из VB 6.0 в VC#.NET наблюдается катастрофическое падение скорости работы формы с двумя гридами(таблицами) - главная (даты) + подчиненная (некие данные разные для каждой даты). В VB 6.0 использовался оператор SHAPE, подчиненная таблица успевала перерисовываться, если зажать стрелку вверх/вниз на главной таблице. В VC#.NET конечно очень удобно работать с DataSet, SqlDataAdapter, SqlCommand. Но при каждом переходе вверх/вниз заметна задержка. Если клавишу зажать, то ВСЕ ячейки в столбце, через которые проходишь во время скроллинга, заливаются цветом выделения. Хотя должна быть подсвечена только текущая ячейка. Очень некрасиво выглядит и раздражает. Как спасти ситуацию ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 13:12 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
MS рекомендует загрузить 2 таблицы в DataSet и сделать realtion Как вы ищите подчиненные строки ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 17:54 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
Должет быть установлент DataRelation ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 18:00 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
В том то весь и фокус, что все сделано в полном соответствии с документацией - настроены все DataSet, внутри - таблицы и связи DataRelation между ними. Все выглядит очень красиво, но работает МЕДЛЕННО!!! Болезненный вопрос остается - как ускорить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2003, 15:51 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
сколько записей в таблице ? а индекс по child таблице есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2003, 16:18 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
Исходная таблица откачивается с большой IBM AS/400 as is. Записей около 26 000. Мастер таблица представляет собой выборку DISTINCT по одному полю - дате из этой большой таблицы. Получается порядка 1200 записей. Выборка оформлена отдельным представлением VIEW на сервере. Подчиненная таблица - та же самая исходная большая. На одну запись из выборки мастер приходится 20 с небольшим подчиненных записей. Все индексы, естественно, есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 10:12 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
Индексы в БД и в DS разные, после выборки с применением DISTINCT DS о индексах ничего не знает. Пробовали после загрузки DS установить явно PrimaryKey ? ChildTable.PrimaryKey = new DataColumn[] {ChildTable.Columns["Id"]}; ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2003, 11:17 |
|
Медленная работа связи один ко многим
|
|||
---|---|---|---|
#18+
Многовато закачиваете данных. 26 тысяч записей - это дофига. Либо ставить таймер на onscroll (или как там называется событие изменения текущей записи в master) и по прошествию 300-400 мс бездействия после нажатия клавиш переоткрывать detail, либо одно из двух =) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2003, 22:10 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1354333]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
13ms |
get first new msg: |
29ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 231ms |
total: | 428ms |
0 / 0 |