powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Изменение большого количества записей в одной таблице. Как сделать цикл...
5 сообщений из 30, страница 2 из 2
Изменение большого количества записей в одной таблице. Как сделать цикл...
    #39854096
chidoriami
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

ясно, спасибо)))

в общем, конечно, в предложенном мной способе нужно быть на 146% уверенным, что данные никак не меняются и не переезжают между моментом формирования списка rowid и update.

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

но у топикстартера явно не этот случай
...
Рейтинг: 0 / 0
Изменение большого количества записей в одной таблице. Как сделать цикл...
    #39854136
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chidoriami,

Данные все равно вычитывать и все равно менять, в чем выигрыш?
...
Рейтинг: 0 / 0
Изменение большого количества записей в одной таблице. Как сделать цикл...
    #39854191
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chidoriamiв общем, конечно, в предложенном мной способе нужно быть на 146% уверенным, что данные никак не меняются и не переезжают между моментом формирования списка rowid и update.
andrey_anonymousПроблема здравого смысла: формирование списка rowid суть отбор тех самых строк, которые следует обновить. Есть очень мало причин не обновить строки сразу по факту нахождения, а записать их координаты для обновления отдельным процессом.
...
Рейтинг: 0 / 0
Изменение большого количества записей в одной таблице. Как сделать цикл...
    #39854242
chidoriami
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDev,

я знаю, это выглядит несколько бредово.
метод выработан на больших данных и слабом железе с активно работающими юзерами-читателями.

боюсь, моих знаний не хватит, чтобы внятно объяснить, почему так быстрее, чем апдейт - но реально, бывало часто.

возможно, если я правильно помню, при create as select без джойнов данные читаемой таблицы не поднимаются в темп, а сразу кладутся в новую таблицу (но это не точно)

а апдейт по rowid - это прям супербыстро, быстрее, чем по индексу же

плюс, такое часто быстрее, когда нужно отобрать строки для апдейта исходя из результатов джойна с другой таблицей
т.е. это конечно решается с помощью обычного merge,
но на основе эмпирических наблюдений - так быстрее =))))
...
Рейтинг: 0 / 0
Изменение большого количества записей в одной таблице. Как сделать цикл...
    #39854284
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chidoriamiбоюсь, моих знаний не хватит
Боюсь, этим придется ограничиться :(
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Изменение большого количества записей в одной таблице. Как сделать цикл...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]