Имея рабочую таблицу только для чтения и доступную для записи таблицу вставки, затем выберите из какой таблицы читает запрос на выборку - PullRequest
0 голосов
/ 20 сентября 2018

Вот сценарий:

TableA - схема на самом деле не имеет значения
TableB - та же схема, что и TableA

SYNONYM ROTable FROM TableA  

SYNONYM InsertTable from TableB  

select * from ROTable ... (read only)

Trunc InsertTable   
BULK insert into InsertTable () ... some data  
DROP SYNONYM ROTable   
DROP SYNONYM InsertTable  

SYNONYM ROTable FROM TableB  
SYNONYM InsertTable from TableA  

Я даже не уверен, как назвать эту технику,но я всегда называл это ДВОЙНЫМИ БУФЕРНЫМИ БОЛЬШИМИ ВСТАВКАМИ.У вас есть 2 одинаковые таблицы, вы читаете из одной, а вы вставляете записи во вторую.Когда вы закончите вставлять записи во вторую, вы переключаетесь на чтение из второй таблицы, усекаете первую таблицу и снова запускаете массовые вставки.

Это будет использоваться в тех случаях, когда вы не хотите делатьUPSERTS на вашем активном столе, когда у вас есть большое количество UPSERTS.

Вопрос в том, является ли это жизнеспособной техникой, почему или почему нет, и у нее общее название?

1 Ответ

0 голосов
/ 20 сентября 2018

Да, это жизнеспособный способ чередовать два набора таблиц в ETL и отчетах.В Oracle то же самое может быть достигнуто с помощью обменов разделами.

...