Много штук m_pDatabase. Плохо ?
От: FYRK  
Дата: 11.02.03 14:08
Оценка:
Раньше всегда делал так:
одна m_pApp->m_pDatabase, во всех вьюшках new CRecordset(m_pApp->m_pDatabase).
Сейчас:
К вьюшке леплю диалог(докед) в котором отображаю дополнительные свойства выбраной во вьюшке(где стоит курсор) записи.

Все бы ничего, но ежели во вьюшке выборка ~200k записей то при открытии вьюшки драйвер высасывает к себе на винт всю выборку ~100M(вследствии чего тормозит), а затем тока заполняет окошко в диалоге свойствами выбраной записи.
Я так понимаю, что если использовать одну CDatabase, то если он(драйвер) при первом фитче не вытащил все, и я обращаюсь через тотже CDatabase к другой выборке, то он чтобы освободить HSTMT выбирает остаток, а потом запрашивает вторую выборку. Раньше было еще хуже — при открытии второй выборки он вываливал ехепшон и орал что хстмт занят, но я потом чтото сделал(кажется обновил мсдак) и он вот так теперь поступает.

Мне все это не нравится, поэтому гдето месяц назад я, практически, к каждому рекордсету прикрутил по датабазе. Ничего не тормозит все работает прекрасно, но...
Этот месяц я плохо сплю ибо грызет меня червяк сомнения, что для каждого рекордсета по датабазе это плохо.
Почему плохо — обосновать себе немогу.
(MSSQL, VC6)

Скажите почему это плохо, или разубедите меня пжалуйста.
Если есть другой метод решенимя этой проблемы — подскажите где копать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.