当前位置:网站首页>The difference between oracle temporary table and pg temporary table
The difference between oracle temporary table and pg temporary table
2022-08-04 06:06:00 【Big Yellow Cat No. 1】
After joining the job, the master asked to query the difference between the pg temporary table and the oracle global temporary table, as well as the idea of transforming the oracle temporary table to pg, all of which are based on their own practice, and welcome comments and corrections if there are mistakes...
Pg temporary table: The pg temporary table is divided into session-level and transactionallevel.
Session level:Data can be saved throughout the life cycle of the session table, if the current session is ended,Then clear the data in the table and delete the table.During this session, you can directly make changes to the fields and data of the table, and other sessions cannot access the current temporary table.
Transaction level:(1) on commit delete rows: You can create temporary in a session with this commandtable, and change the table fields before and after starting the transaction, You can use the dml statement before the transaction starts, but the content of the table does not change substantially,
(2) On commit drop: It can only be created in a transaction, and the table is automatically deleted after the transaction is ended.
Oracle temp table:span>Oracle temporary tables are divided into session level and transaction level.
Session level:Data can be maintained at the entire session level.
Transaction level:The data in the table will be cleared after commit and rollback
The difference between Pg temporary table and oracle temporary table:
Pg temporary table only exists in the current session, other sessions cannot access the temporary table, and ending the session will delete the temporary table.After the Oracle temporary table is created, although the data between each session is isolated from each other, that is, one session cannot see the data of other sessions, but the defined fields are shared.And the definition of the table will still exist after the session is ended, but the data in the table will be cleared.
Changes to Oracle temporary table fields can only be made when all current sessions do not perform dml operations on the table.If one of the sessions changes the data in the table, the ddl operation is not possible.
Deletion of Oracle temporary table:
Transaction level: Only when all sessions are fully committed can they be deleted.
Session level: All sessions can only be deleted before executing the dml statement on the table.
The idea of oracle temporary table to pg temporary table: first, you need to lock the table so that only the current session can access the temporary table, and you need to release other locks in the table (feelingOracle temporary tables are locked so that the definition of the fields in the table cannot be changed after the data in the field is changed, it is not clear whether there is or what lock is added), and the temporary table should be automatically deleted at the end of the session.(This part is an idea, because it cannot be practically operated for some reasons)
边栏推荐
猜你喜欢
随机推荐
[Introduction to go language] 12. Pointer
k3s-轻量级Kubernetes
Androd Day02
Postgresql 快照
【CV-Learning】线性分类器(SVM基础)
Kubernetes基础入门(完整版)
Polynomial Regression (PolynomialFeatures)
【CV-Learning】图像分类
flink on yarn任务迁移
lmxcms1.4
read and study
TensorFlow:tf.ConfigProto()与Session
Briefly say Q-Q map; stats.probplot (QQ map)
Th in thymeleaf: href use notes
postgresql 事务隔离级别与锁
网络大作业心得笔记
Logistic Regression --- Introduction, API Introduction, Case: Cancer Classification Prediction, Classification Evaluation, and ROC Curve and AUC Metrics
【深度学习21天学习挑战赛】1、我的手写被模型成功识别——CNN实现mnist手写数字识别模型学习笔记
Introduction of linear regression 01 - API use cases
Matplotlib中的fill_between;np.argsort()函数









