首页 > 其他分享 >openGauss 写入和读写操作

openGauss 写入和读写操作

时间:2024-05-15 10:20:25浏览次数:13  
标签:INSERT 事务 读写操作 写入 T2 T1 openGauss

写入和读写操作

关于写入和读写操作的命令:

  • INSERT,可向表中插入一行或多行数据。
  • UPDATE,可修改表中现有数据。
  • DELETE,可删除表中现有数据。
  • COPY,导入数据。

INSERT和COPY是纯写入的操作。并发写入操作,需要等待,对同一个表的操作,当事务T1的INSERT或COPY未解除锁定时,事务T2的INSERT或COPY需等待,事务T1解除锁定时,事务T2正常继续。

UPDATE和DELETE是读写操作(先查询出要操作的行)。UPDATE和DELETE执行前需要先查询数据,由于并发事务彼此不可见,所以UPDATE和DELETE操作是读取事务发生前提交的数据的快照。写入操作,是行级锁,当事务T1和事务T2并发更新同一行时,后发生的事务T2会等待,根据设置的等待时长,若超时事务T1未提交则事务T2执行失败;当事务T1和事务T2并发更新的行不同时,事务T1和事务2都会执行成功。

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

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

标签:INSERT,事务,读写操作,写入,T2,T1,openGauss
From: https://www.cnblogs.com/renxyz/p/18193241

相关文章

  • 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,并指......
  • openGauss\postgreSQL数据库性能查看
    1.查看系统CPU使用率sar-u-f/var/log/sa/sa27(sa27根据时间变化,sa27是27号信息的记录)结果输出:15时52分01秒CPU%user%nice%system%iowait%steal%idle15时53分01秒all0.320.000.690.000.0098.9915时54分01秒all0.300.000.680.000.0099.0215时55......
  • openGauss 示例2-从MY向openGauss数据库进行数据迁移
    示例2:从MY迁移数据下面示例演示如何通过CopyManager从MY向openGauss进行数据迁移的过程。importjava.io.StringReader;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;i......
  • openGauss 事务隔离说明
    事务隔离说明openGauss基于MVCC(多版本并发控制)并结合两阶段锁的方式进行事务管理,其特点是读写之间不阻塞。SELECT是纯读操作,UPDATE和DELETE是读写操作。读写操作和纯读操作之间并不会发生冲突,读写操作之间也不会发生冲突。每个并发事务在事务开始时创建事务快照,并发事务之间不......
  • openGauss 数据安全维护建议
    数据安全维护建议为保证openGauss数据库中的数据安全,避免丢失数据,非法访问数据等事故发生,请仔细阅读以下内容。避免数据被丢失建议用户规划周期性的物理备份,且对备份文件进行可靠的保存。在系统发生严重错误的情况下,可以利用备份文件,将系统恢复到备份前的状态。避免数据被非法......
  • openGauss 使用gs_restore命令导入数据
    使用gs_restore命令导入数据操作场景gs_restore是openGauss数据库提供的与gs_dump配套的导入工具。通过该工具,可将gs_dump导出的文件导入至数据库。gs_restore支持导入的文件格式包含自定义归档格式、目录归档格式和tar归档格式。gs_restore具备如下两种功能。导入至数据库......
  • openGauss 使用gs_dump和gs_dumpall命令导出数据
    使用gs_dump和gs_dumpall命令导出数据概述导出单个数据库导出所有数据库无权限角色导出数据详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 使用gsql元命令导入数据
    使用gsql元命令导入数据gsql工具提供了元命令\copy进行数据导入。\copy命令\copy命令格式以及说明参见表1\copy元命令说明。表1\copy元命令说明语法说明\copy{table[(column_list)]|(query)}{from|to}{filename|stdin|stdout|pstdin|......
  • openGauss 使用合并方式更新和插入数据
    使用合并方式更新和插入数据在用户需要将一个表中所有的数据或大量的数据添加至现有表的场景下,openGauss提供了MERGEINTO语句通过两个表合并的方式高效地将新数据添加到现有表。MERGEINTO语句将目标表和源表中数据针对关联条件进行匹配,若关联条件匹配时对目标表进行UPDATE,关联......