powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
15 сообщений из 15, страница 1 из 1
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772965
Фотография Shredder2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача такая.
в таблице данные.
1. точка отсчёта - время t0
2. в сессии1 кто-то сделал апдейт одной записи без коммита на момент времени t1.
3. в сессии2 сделали выборку из этой таблицы в момент t2, при этом, как и должно быть, выбрались консистентные данные на момент времени t0.
4. в сессии1 сделали коммит в момент t3

в момент t4 нужно выбрать все записи, которые новее данных, выбранных на шаге 3 (т.е. были вставлены-обновлены и закоммичены)
Как это сделать проще?
Сравнивать по ID записи + версия|last_update_date этой строки не хочется (гонять весь справочник с клиента обратно для сравнения построчно).
Есть ли иные решения?

Я всё ожидаю чуда что существует некий аналог row SCN, который содержал бы "№ выполненного коммита", а не номер состояния на момент апдейта-инсерта...
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772971
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На одном из проектов было что-то похожее, надо было обрабатывать приходящие в произвольный момент времени данные. Решалось триггером, который добавлял в отдельную таблицу rowid новых или изменённых строк. Периодически запускался джоб, который считывал порцию этих rowid (select for update), обрабатывал, и удалял их из дополнительной таблицы. И так по кругу.
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772975
Фотография Shredder2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. либо логирование, либо самостоятельное ведение версии строки, СУБД таких возможностей не предоставляет...
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772979
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shredder2003т.е. либо логирование, либо самостоятельное ведение версии строки, СУБД таких возможностей не предоставляет...
ставь mongodb - там все это давно уже есть.
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772980
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772987
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от целей и задач, не зная которые сложно что-то рекомендовать.
Как вариант под велосипедо-ETL рассмотрите:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create table dropme_t(checkpoint#)
as select 0 from dual
;

create materialized view log on dropme_t 
with sequence, rowid
(checkpoint#) 
including new values
;

update dropme_t set checkpoint# = checkpoint#+1;

select * from dropme_t;

select * from MLOG$_DROPME_T;
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39772996
Фотография Shredder2003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxShredder2003,

https://docs.oracle.com/database/121/SQLRF/pseudocolumns007.htm#SQLRF50953

.....
stax

Судя по описанию мне казалось что ORA_ROWSCN содержит № на момент апдейта-инсерта.
Провёл тесты, ан нет - № на момент коммита!
Получается, что его можно использовать как ключ для выборки записей.
Только вот индексировать его нельзя будет видимо.

Прошу меня вовремя остановить, если вдруг это какой-то частный случай и на ORA_ROWSCN полагаться нельзя :)
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773006
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shredder2003,

CQN
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773023
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shredder2003Судя по описанию мне казалось что ORA_ROWSCN содержит № на момент апдейта-инсерта.
Провёл тесты, ан нет - № на момент коммита!
Получается, что его можно использовать как ключ для выборки записей.
Только вот индексировать его нельзя будет видимо.

Прошу меня вовремя остановить, если вдруг это какой-то частный случай и на ORA_ROWSCN полагаться нельзя :)
RTFM ROWDEPENDENCIES
Если таблица создана без указанной опции, то ORA_ROWSCN будет одинаков для блока.
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773040
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-CQN

QRCN

SY.
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773069
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY-2-CQN

QRCN

SY.

Вот кто мне может обьяснить о чем говорят иностранцы? :-)
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773072
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgenSYQRCN
Вот кто мне может обьяснить о чем говорят иностранцы? :-)
http://bfy.tw/MGc0
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773079
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousflexgenпропущено...

Вот кто мне может обьяснить о чем говорят иностранцы? :-)
http://bfy.tw/MGc0

Спасибо, конечно, но вообще-то там смайлик стоял.
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773090
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уж думал oracle внезапно смог в грязное чтение, судя по наличию авторитетов в теме.
куда там...
...
Рейтинг: 0 / 0
Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
    #39773097
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fogelя уж думал oracle внезапно смог в грязное чтение, судя по наличию авторитетов в теме.
куда там...

oracle отлично понимает что лезть в грязное чтение это очень грязное дело .

SY.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Какие есть алгоритмы заселектить только изменённые, не заселекченные в прошлый раз записи?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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