Главная страница
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.03 c
2-1194476091
TankMan
2007-11-08 01:54
2007.12.02
Подскажите пожалуйста почему выдается ошибка в TidFTP?


3-1185003320
NewZ
2007-07-21 11:35
2007.12.02
Как заменить значение NULL?


15-1193854260
Андрюха
2007-10-31 21:11
2007.12.02
Помогите расписать простейший класс на с++


6-1175158481
max_max
2007-03-29 12:54
2007.12.02
отправка строки через сокеты в цикле


15-1193930755
MetalFan
2007-11-01 18:25
2007.12.02
что произошло с моей анкетой?!