首页 > 其他分享 >openGauss 数据导入和查询的并发

openGauss 数据导入和查询的并发

时间:2024-05-15 10:23:47浏览次数:13  
标签:事务 查询 T2 开启 T1 并发 导入 openGauss COPY

数据导入和查询的并发

事务T1:

START TRANSACTION;
COPY test FROM '...';
COMMIT;

事务T2:

START TRANSACTION;
SELECT * FROM test;
COMMIT;

场景1:

开启事务T1,不提交的同时开启事务T2,事务T1开始执行COPY,事务T2开始执行SELECT,事务T1和事务T2都执行成功。事务T2中查询看不到事务T1新COPY进来的数据。

场景2:

  • READ COMMITTED级别

    开启事务T1,不提交的同时开启事务T2,事务T1开始执行COPY,然后提交,事务T2查询,可以看到事务T1中COPY的数据。

  • REPEATABLE READ级别

    开启事务T1,不提交的同时开启事务T2,事务T1开始执行COPY,然后提交,事务T2 查询,看不到事务T1中COPY的数据。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:事务,查询,T2,开启,T1,并发,导入,openGauss,COPY
From: https://www.cnblogs.com/renxyz/p/18193233

相关文章

  • openGauss 通过创建临时表并截断原始表来执行深层复制
    通过创建临时表并截断原始表来执行深层复制该方法使用CREATE**TEMP**TABLE...AS语句创建原始表的临时表,然后截断原始表并从临时表填充它完成原始表的深层复制。在新建表需要保留父表的主键属性,或如果父表具有依赖项的情况下,建议使用此方法。操作步骤使用CREATE**TEMP*......
  • openGauss 数据安全维护建议
    数据安全维护建议为保证openGauss数据库中的数据安全,避免丢失数据,非法访问数据等事故发生,请仔细阅读以下内容。避免数据被丢失建议用户规划周期性的物理备份,且对备份文件进行可靠的保存。在系统发生严重错误的情况下,可以利用备份文件,将系统恢复到备份前的状态。避免数据被非法......
  • openGauss 无权限角色导出数据
    无权限角色导出数据gs_dump和gs_dumpall通过-U指定执行导出的用户帐户。如果当前使用的帐户不具备导出所要求的权限时,会无法导出数据。此时,需先将具有权限的角色赋权给无权限角色,然后在导出命令中设置--role参数来指定具备权限的角色。在执行命令后,gs_dump和gs_dumpall会使用--ro......
  • openGauss 通过INSERT语句直接写入数据
    通过INSERT语句直接写入数据用户可以通过以下方式执行INSERT语句直接向openGauss数据库写入数据:使用openGauss数据库提供的客户端工具向openGauss数据库写入数据。请参见向表中插入数据。通过JDBC驱动连接数据库执行INSERT语句向openGauss数据库写入数据。详细内容请参见......
  • openGauss 相同表的并发INSERT
    相同表的并发INSERT事务T1:STARTTRANSACTION;INSERTINTOtestVALUES(2,'test2','test123');COMMIT;事务T2:STARTTRANSACTION;INSERTINTOtestVALUES(3,'test3','test123');COMMIT;场景1:开启事务T1,不提交的同时开启事务T2,事务T1执行INSERT完成后,执......
  • openGauss 相同表的INSERT和DELETE并发
    相同表的INSERT和DELETE并发事务T1:STARTTRANSACTION;INSERTINTOtestVALUES(1,'test1','test123');COMMIT;事务T2:STARTTRANSACTION;DELETEtestWHERENAME='test1';COMMIT;场景1:开启事务T1,不提交的同时开启事务T2,事务T1执行INSERT完成后,执行事务T2的DELETE,此时显......
  • openGauss 限制
    限制发布订阅基于逻辑复制实现,继承所有逻辑复制的限制,同时发布订阅还有下列额外的限制或者缺失的功能。数据库模式和DDL命令不会被复制。初始模式可以手工使用gs_dump--schema-only进行拷贝。后续的模式改变需要手工保持同步。序列数据不被复制。后台由序列支撑的serial或......
  • openGauss 写入和读写操作
    写入和读写操作关于写入和读写操作的命令:INSERT,可向表中插入一行或多行数据。UPDATE,可修改表中现有数据。DELETE,可删除表中现有数据。COPY,导入数据。INSERT和COPY是纯写入的操作。并发写入操作,需要等待,对同一个表的操作,当事务T1的INSERT或COPY未解除锁定时,事务T2的INSERT......
  • openGauss 相同表的并发UPDATE
    相同表的并发UPDATE事务T1:STARTTRANSACTION;UPDATEtestSETaddress='test1234'WHEREname='test1';COMMIT;事务T2:STARTTRANSACTION;UPDATEtestSETaddress='test1234'WHEREname='test2';COMMIT;事务T3:STARTTRANSACTION;......
  • openGauss 修改索引时只调用索引名提示索引不存在
    修改索引时只调用索引名提示索引不存在问题现象修改索引时只调用索引名提示索引不存在。举例如下。--创建分区表索引HR_staffS_p1_index1,不指定索引分区的名称。CREATEINDEXHR_staffS_p1_index1ONHR.staffS_p1(staff_ID)LOCAL;--创建分区索引HR_staffS_p1_index2,并指......