Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Долгий Select из постоянно обновляемой таблицы / 4 сообщений из 4, страница 1 из 1
13.08.2021, 21:02
    #40090669
NwZawr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий Select из постоянно обновляемой таблицы
Собственно вопрос скорее теоретический.
есть таблица. В таблицу постоянно что то вставляется ну пусть там не знаю раз в секунду.
есть селект по всей таблице в таблице ну там миллион записей. То есть селект будет долгим

Вопрос. Будут ли в этом селекте INSERT-ы которые вставлены во время его исполнения.

Повторюсь речь НЕ О двух селектах и сравнивании их обьема и идентичности

речь о одном селекте грубо говоря. когда селект был запущен в таблице был миллион записей. когда селект через сколько то минут там выбрал все данные и завершился. в таблице уже было миллион двести записей. сколько записей будет в выборке?

про уровни изоляции транзакций знаю. но там усиленно пишут про повторяющиеся запросы.
кроме того если я запущу запрос в транзакции при сериализейбл. то в эту таблицу ваще ничо не вставиццо пока не закончу.

А вот скажем при рид комиттед вставится. и я хочу узнать увижу я эти записи вставленные за время работы запроса или нет
...
Рейтинг: 0 / 0
13.08.2021, 21:22
    #40090672
shane54
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий Select из постоянно обновляемой таблицы
NwZawr
и я хочу узнать увижу я эти записи вставленные за время работы запроса или нет


А самому проверить - не? Набросать test case и посмотреть, что будет при таком уровне изоляции, и при сяком? IMHO проверить самому было бы даже быстрее, чем написать этот вопрос тут на форуме!

(просто я сам так делаю - если чего-то не знаю, "что будет, если" - просто беру и проверяю)

А если по делу - у Кайта в книге, в той_самой , первая глава (или вторая) - ну вот прям про это, от А до Я разжевывает.
...
Рейтинг: 0 / 0
14.08.2021, 04:07
    #40090693
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий Select из постоянно обновляемой таблицы
NwZawr
А вот скажем при рид комиттед вставится.
и я хочу узнать увижу я эти записи вставленные за время работы запроса или нет

Предполагаемое вами Dirty Read (грязное чтение) невозможно, начиная с ORACLE v4 (1984 г.)

Read Commited - это минимальный уровень изоляции транзакций в Oracle Database.
Данные возвращаются в том состоянии, какими они были в начале выполнения запроса.

Почитайте про Data Concurrency and Consistency
https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/data-concurrency-and-consistency.html

Multiversion Read ConsistencyQueries of an Oracle database have the following characteristics:

- Read-consistent queries
The data returned by a query is committed and consistent for a single point in time.

- Nonblocking queries
Readers and writers of data do not block one another.
...
Рейтинг: 0 / 0
15.08.2021, 11:02
    #40090848
NwZawr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий Select из постоянно обновляемой таблицы
Выяснил
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Долгий Select из постоянно обновляемой таблицы / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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