![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Производительность функции Table.Locate ? [D5, dBase, FoxPro, ]
VovanR © (2001-12-18 17:17:00)Почему так долго осуществляется поиск с помощью этой функции на на PIII- 866, при вызове ее 2750 раз. С учетом того что используются драйвера DBASE- IV
DmitryA (2001-12-19 17:14:00) [1]4. Вызвать DisableControls!
И главное: если вопрос о скорости а не удобстве программиста, то о Locate, Filter и прочем лучше забыть (хотя можно и пользоваться, но в зависимости от количества записей в файле)
DmitryA (2001-12-19 17:11:00) [2]1. использовать индексы!!!
2. отключить все lookup-поля
3. отключить AutoCalcFileds
Kapusto (2001-12-19 16:29:00) [3]При переходе на D5 столкнулись с тем, что запросы, где в цикле используется Locate, стали выполняться гораздо медленнее. Если в Helpe к D4 было написано, что Locate по возможности использует индексы, то в D5 такой фразы нет... Видимо идет тупой перебор...
проблему решили переходом от Locate на FindKey
gek (2001-12-19 16:29:00) [4]У меня было около 50000 записей на парадоксе и Р-2-350 locate искала
запись около 1 сек
И panov тебе верно сказал используй индексы
koks (2001-12-19 13:06:00) [5]а не используешь ли ты Look-up поля в таблице, в которой ищешь...
panov (2001-12-18 17:59:00) [6]Попробуй добавить индексы...
Viewer (2001-12-18 17:44:00) [7]Еще дольше - если вызовешь ее 10 тыс раз и записей будет 200 тыс, например.
Зачем ты так много надо ее вызывать ?