Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

Оптимизировать перебор записей в таблице   Найти похожие ветки 

 
sniknik ©   (2007-07-13 17:30) [40]

> Так вроде все уже обсудили. Сказали что нужно сделать...
но еще никто не дал готового кода... т.что жди третий круг. ;о)


 
WhiteCat   (2007-07-13 17:30) [41]


> Так вроде все уже обсудили. Сказали что нужно сделать...

Что нужно сделать??????? Скажите мне.
Поменять СУБД?


 
Stanislav ©   (2007-07-13 17:36) [42]

Сначала заменить AdoTable на AdoDataSet
Потом написать SQL Select... Where ... like "%москва%"
Потом открыть и вцикле сделать replace
Можно для ускорения использовать LocType:=BathOptimistic


 
Jan1   (2007-07-13 17:38) [43]


> Что нужно сделать??????? Скажите мне.

единоразовая задача? или это действие в проге? если единовразово, то создай в Аксесе такой запрос [8] и там же его выполни...


 
sniknik ©   (2007-07-13 17:39) [44]

> Согласитесь, это же не повод всем пользователям Access, InterBase, Paradox, MySQL перейти в срочном порядке на MSSQL.
моим и не надо, они и так на MSSQL практически половно...

а для других баз могут другие, отличные от этого решения. для того же access 1 запрос на выборку нужных, и цикл по нему с вызовом команды updete в adocommsnd (обязательно параметризированным).
хотя тебе это не пойдет т.к. у тебя почемуто вопреки всем
> ... LIKE "%Москва%"
> ... LIKE "%москва%" дают разные результаты.
т.е. ничего не получится пока не добьешся чтобы было как у всех одинаковые.


 
sniknik ©   (2007-07-13 17:41) [45]

> Можно для ускорения использовать LocType:=BathOptimistic
не надо. это не для этого и скорости не добавит.


 
WhiteCat   (2007-07-13 17:42) [46]

to Stanislav
 Спасибо, попробую.


 
Stanislav ©   (2007-07-16 14:25) [47]

sniknik ©   (13.07.07 17:41) [45]
Почему не добавит?
он же будет в цикле бежать по набору данных и заменять значения, при этом каждая строка будет фиксироваться в базе, а если установить BathOptimistic, то сохранение в базу пройдет в конце цикла 1 раз.


 
sniknik ©   (2007-07-16 14:43) [48]

> Почему не добавит?
> он же будет в цикле бежать по набору данных и заменять значения, при этом каждая строка будет фиксироваться в базе, а если установить BathOptimistic,
> то сохранение в базу пройдет в конце цикла 1 раз.
структура рекордсета с BathOptimistic более громозка, там еще добавляется кэширование(под старые значения) - деление значений на новые, старые. а потом при апдейте будет второй цикл по тому же рекордсету с условием если запись изменена то делается тоже самое - "фиксирование в базе". причем не одной командой (в профайлере можно посмотреть). т.е. все тоже самое, только с большим обьемом захваченной под доп.поля памяти, с дополнительными проверками, и "разбитием" одного цикла на 2.
думаешь все эти дополнительные  действия сэкономят время? я нет. (хотя, проверь... может я и ошибаюсь)


 
sniknik ©   (2007-07-16 14:49) [49]

вообще если делать "ускорение" то я бы сам составил команду апдейта, и выполнял бы ее в асинхронном ADOCommand, тогда бы сэкономилось немного времени, не ожидалось бы завершения команды для перехода на следующую запись основного рекордсета. может быть бы и получилось... (проверить надо (возможно уже в оригинальном так и сделано тогда ;())



Страницы: 1 2 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.018 c
4-1179822306
cosinus
2007-05-22 12:25
2007.12.02
Как найти одно из чужих окон по его потомку?


6-1175189724
проходивший мимо
2007-03-29 21:35
2007.12.02
передать файлы через сеть


15-1193511669
Kick
2007-10-27 23:01
2007.12.02
как получить значение [i,j] элемент в StrigGrid?


15-1193418318
Cerberus
2007-10-26 21:05
2007.12.02
Где могут заменить дисплей на плеере.


11-1179159919
Даддитс
2007-05-14 20:25
2007.12.02
Снова KOLReport