|
Долгий Select из постоянно обновляемой таблицы
|
|||
---|---|---|---|
#18+
Собственно вопрос скорее теоретический. есть таблица. В таблицу постоянно что то вставляется ну пусть там не знаю раз в секунду. есть селект по всей таблице в таблице ну там миллион записей. То есть селект будет долгим Вопрос. Будут ли в этом селекте INSERT-ы которые вставлены во время его исполнения. Повторюсь речь НЕ О двух селектах и сравнивании их обьема и идентичности речь о одном селекте грубо говоря. когда селект был запущен в таблице был миллион записей. когда селект через сколько то минут там выбрал все данные и завершился. в таблице уже было миллион двести записей. сколько записей будет в выборке? про уровни изоляции транзакций знаю. но там усиленно пишут про повторяющиеся запросы. кроме того если я запущу запрос в транзакции при сериализейбл. то в эту таблицу ваще ничо не вставиццо пока не закончу. А вот скажем при рид комиттед вставится. и я хочу узнать увижу я эти записи вставленные за время работы запроса или нет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 21:02 |
|
Долгий Select из постоянно обновляемой таблицы
|
|||
---|---|---|---|
#18+
NwZawr и я хочу узнать увижу я эти записи вставленные за время работы запроса или нет А самому проверить - не? Набросать test case и посмотреть, что будет при таком уровне изоляции, и при сяком? IMHO проверить самому было бы даже быстрее, чем написать этот вопрос тут на форуме! (просто я сам так делаю - если чего-то не знаю, "что будет, если" - просто беру и проверяю) А если по делу - у Кайта в книге, в той_самой , первая глава (или вторая) - ну вот прям про это, от А до Я разжевывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 21:22 |
|
Долгий Select из постоянно обновляемой таблицы
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 04:07 |
|
|
start [/forum/topic.php?fid=52&msg=40090672&tid=1879977]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 278ms |
0 / 0 |