Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Жутко тупит DataSet на широких таблицах [D6, MSSQL]


shiva502 ©   (2002-06-21 02:58:00) 

Ситуация такая. Есть MS SQL. Делаю выборку из таблицы через TADODataSet. Таблица имеет ~400-500 столбцов. DataSet.Open делается примерно 1 минуту. Пробовал открывать _Recordset (чистый ADO-рекордсет) - все нормально, несколько секунд. А с датасетом тупит.
Расследование показало, что тупилово наступает, когда TDataSet начинает заполнять свои структуры с данными о столбцах таблицы, FieldDefs, то бишь.
Что с этим делать?


dimis   (2002-06-21 09:26:00) [1]

помоему дело в другом
даже с recordset
запрос типа select * from table order by ... будет работать долго
все дело в том, что recordset начинает выдавать данные еще до того так закончилась выборка,и продолжает её выбирать уже в фоновом режиме (из-за этого иногда глючит RecordCount).
а твой dataSet пытается вытащить все данные , а потом их выдать. Покопайся в настройках


shiva502   (2002-06-21 08:57:00) [2]

2 Dok_3D
да запрос там простой
SELECT * FROM TABLE
...
по другому там нельзя...
Обидно-то то, что Query Analyzer его за 2 секунды делает,
а из проги из-зи TDataSet-а 60 секунд.


Dok_3D   (2002-06-21 07:56:00) [3]

Что, существуют сущности с 400-500 атрибутами?
Есть сущности с гораздо большим количеством атрибутов... Хотя согласен, нормальной такую таблицу не назовешь.

2shiva502
А расследование не пыталось установить как с такой таблицей работает ADOQuery ? Иногда качественно построенный запрос очень выручает.


kaif   (2002-06-21 03:43:00) [4]

А нельзя число столбцов уменьшить?
Какая-то таблица ненормальная...
Что, существуют сущности с 400-500 атрибутами?


Наверх

Титульная страница Поиск, карта сайта Написать письмо