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

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

ADO [D7, XP]


Страницы:   1 2 3 4 5 6 7 8

DimOk ©   (2008-03-03 09:34:00) 

Доброго времени суток вам мастера. Скажите пожалуйсто как можно ускорить работу ADO. У меня ситуация следующая - таблица имеет около 20 тысяч записей, после того как я пишу ADOTable.Activate := True; сижу и смоотрю в монитор минут пять, при чем на достаточно хорошм железе.... Все настройки компонента по умолчанию, за исключением Connection


DimOk   (2008-03-03 11:09:00) [81]


> Такой запрос не должен работать ни на одном движке из-за
> ошибок в синтаксисе

Мог и ошибиться я не копировал а набирал руками, имена таблиц спереди пишутся, но все понял о че реч... :)


DimOk   (2008-03-03 11:06:00) [82]

БД старая FoxBase в таблице mlabel 4 поля с типом memo может из за этого...? Хотя в фоксе кидаешь грид на форму, устанавливаешь ему в качестве источника данных эту таблици и.. вуаля, грид заполняется практически мнгновенно....


Kolan   (2008-03-03 11:03:00) [83]

> Сделал… Медленно

Чудеса, мож и впрям железо хилое?


ЮЮ   (2008-03-03 11:00:00) [84]

> Запрос достаточно примитивный...
> select nnum.mlabel, name.mlabel, kolpost.mkart from mlabel
> mkart where nnum.mlabel = nnum.mkart


Такой запрос не должен работать ни на одном движке из-за ошибок в синтаксисе


DimOk   (2008-03-03 10:58:00) [85]


> Автор, сделай ка тестовый проект как в [54].

Сделал... Медленно и так и сяк, до секунд не сравнивал но помоему одинаково медленно :(


Сергей М.   (2008-03-03 10:56:00) [86]


> Дак он же select * делает


Мало ли чего он еще делает (или не делает), но об этом не договаривает)


Сергей М.   (2008-03-03 10:54:00) [87]


> причина этих последствий


Ты пока ни словом не обмолвился о существовании и использованиии индексов по интересующему полю.


Kolan   (2008-03-03 10:54:00) [88]

> Ты пока ни словом не обмолвился о существовании и использованиии
> индексов по интересующему полю.

Дак он же select * делает…


Сергей М.   (2008-03-03 10:53:00) [89]


> все равно секунд 20 проходит


Есть стойкое подозрение, что у автора где-то после открытия происходит перемещение к последней записи в неиндексированном НД.

Подобные "чудеса" при этом вполне объяснимы и ожидаемы.


Kolan   (2008-03-03 10:53:00) [90]

> Эсли у вас в офисе такая машина считается слабой…

А у тебя какая машина?


> Хорошо, подскажите тогда что  за причина этих последствий…
> :)

Причину и пытаемся понять, для чистоты эксперимента сделай новый проект, бо мало ли что там у тебя в рабочем еще делается…


DimOk   (2008-03-03 10:52:00) [91]


> для примера, на довольно таки слабой сейчас машине (пень
> 3000, 1 гиг памяти)

Эсли у вас в офисе такая машина считается слабой......


> Вариант, который решает не проблемму а последствия.

Хорошо, подскажите тогда что  за причина этих последствий... :)


Kolan   (2008-03-03 10:50:00) [92]

> врядли, это скорее «чудеса» реализации…

Автор, сделай ка тестовый проект как в [54].


sniknik   (2008-03-03 10:48:00) [93]

> Может это чудеса фокс про?
врядли, это скорее "чудеса" реализации...

для примера, на довольно таки слабой сейчас машине (пень 3000, 1 гиг памяти)
полный запрос SELECT * FROM sales
с коннектом
Provider=VFPOLEDB.1;Data Source=D:\;Password="";Collating Sequence=MACHINE
выполняется 17 сек. и возвращает 315883 записей (сколько есть в базе взятой для примера)
"ширина" записи - 20 полей, из них 12 VarChar(32), остальные - даты, числа, деньги (т.е. ничего "массивного").


Kolan   (2008-03-03 10:48:00) [94]

> и тоже самое

Вариант, который решает не проблемму а последствия.

Так, как пользователю твои 20 тыщ все равно не нужны, ты сначала спроси его что он хочет конкретнно, а потом делалай
select * from mlabel where …
Так ты значительно сократиш выборку.


DimOk   (2008-03-03 10:47:00) [95]

ADODataSet с ним стало побыстрее, но все равно секунд 20 проходит....


DimOk   (2008-03-03 10:47:00) [96]


> Это путь к локальному ресурсу ?

Да, диск D: несетевой


Сергей М.   (2008-03-03 10:46:00) [97]


> D:\SAFE\BEST\BASE\FILINEW\SCLAD


Это путь к локальномуресурсу ?


DimOk   (2008-03-03 10:44:00) [98]


> Убери совсем этот компонент замени на запрос…

Убрал... Написал select * from mlabel и тоже самое...


Kolan   (2008-03-03 10:43:00) [99]

> пом. TADOTable или TADODataSet

Имхо Сергей описался, он имел ввиду TADOQuery.


Сергей М.   (2008-03-03 10:43:00) [100]


> его с пом. TADOTable или TADODataSet


с пом. TADO Queryили TADODataSet


Страницы:   1 2 3 4 5 6 7 8

Наверх

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