![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Жутко тупит 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 атрибутами?