Текущий архив: 2002.07.15;
Скачать: CL | DM;
ВнизЖутко тупит DataSet на широких таблицах Найти похожие ветки
← →
shiva502 (2002-06-21 02:58) [0]Ситуация такая. Есть MS SQL. Делаю выборку из таблицы через TADODataSet. Таблица имеет ~400-500 столбцов. DataSet.Open делается примерно 1 минуту. Пробовал открывать _Recordset (чистый ADO-рекордсет) - все нормально, несколько секунд. А с датасетом тупит.
Расследование показало, что тупилово наступает, когда TDataSet начинает заполнять свои структуры с данными о столбцах таблицы, FieldDefs, то бишь.
Что с этим делать?
← →
kaif (2002-06-21 03:43) [1]А нельзя число столбцов уменьшить?
Какая-то таблица ненормальная...
Что, существуют сущности с 400-500 атрибутами?
← →
Dok_3D (2002-06-21 07:56) [2]Что, существуют сущности с 400-500 атрибутами?
Есть сущности с гораздо большим количеством атрибутов... Хотя согласен, нормальной такую таблицу не назовешь.
2shiva502
А расследование не пыталось установить как с такой таблицей работает ADOQuery ? Иногда качественно построенный запрос очень выручает.
← →
shiva502 (2002-06-21 08:57) [3]2 Dok_3D
да запрос там простой
SELECT * FROM TABLE
...
по другому там нельзя...
Обидно-то то, что Query Analyzer его за 2 секунды делает,
а из проги из-зи TDataSet-а 60 секунд.
← →
dimis (2002-06-21 09:26) [4]помоему дело в другом
даже с recordset
запрос типа select * from table order by ... будет работать долго
все дело в том, что recordset начинает выдавать данные еще до того так закончилась выборка,и продолжает её выбирать уже в фоновом режиме (из-за этого иногда глючит RecordCount).
а твой dataSet пытается вытащить все данные , а потом их выдать. Покопайся в настройках
Страницы: 1 вся ветка
Текущий архив: 2002.07.15;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.011 c