当前位置: 首页 > news >正文

建wap网站中企动力做网站推广靠谱吗

建wap网站,中企动力做网站推广靠谱吗,戈韦思苏州网站建设,上海网站设计首选刻文章目录 任务二十二 使用JDBC访问openGauss数据库任务目标实施步骤一、查看和设置隔离级别1.查看系统默认的隔离级别2.设置系统默认的隔离级别3.查看当前会话的隔离级别4.设置当前会话的隔离级别5.设置当前事务的隔离级别 二、读提交隔离级别测试三、可重复读隔离级别测试 任务…

文章目录

  • 任务二十二 使用JDBC访问openGauss数据库
    • 任务目标
    • 实施步骤
      • 一、查看和设置隔离级别
        • 1.查看系统默认的隔离级别
        • 2.设置系统默认的隔离级别
        • 3.查看当前会话的隔离级别
        • 4.设置当前会话的隔离级别
        • 5.设置当前事务的隔离级别
      • 二、读提交隔离级别测试
      • 三、可重复读隔离级别测试

任务二十二 使用JDBC访问openGauss数据库

任务目标

了解数据库隔离级别的含义,并对其进行测试。

实施步骤

一、查看和设置隔离级别

1.查看系统默认的隔离级别

使用Linux用户omm,打开一个Linux终端窗口,执行如下的命令:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
show default_transaction_isolation;
\q
2.设置系统默认的隔离级别

使用Linux vi编辑器,修改openGauss数据库管理系统的启动参数文件中的参数default_transaction_isolation,并reload数据库实例使参数生效。过程如下:
在这里插入图片描述
还记我们实验二安装openGauss数据库时用到的cluster_config.xml文件吗?
这个文件是我们自己配置的,指明了数据库的安装的具体位置,笔者安装的位置为:/opt/huawei/data/dn/postgresql.conf。

vi /opt/huawei/install/data/dn/postgresql.conf

将下面这行:

#default_transaction_isolation = 'read committed'

修改为:

default_transaction_isolation = 'REPEATABLE READ'

不需要重新启动数据库,执行下面的命令reload参数文件,让参数生效:

gsql -d postgres -p 26000 -r
select pg_reload_conf();
\q 

执行下面的命令,再次查看系统当前的隔离级别:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
show default_transaction_isolation;
\q

我们发现,openGauss数据库的隔离级别已经被修改为REPEATABLE READ
也可以执行下面的命令来修改系统的隔离级别。直接执行下面的命令,可以一步完成修改参数文件并reload的操作:

gs_guc reload -N all -I all -c "default_transaction_isolation = 'read committed'"
gsql -d postgres -p 26000 -r
show default_transaction_isolation;
\q 

在这里插入图片描述

3.查看当前会话的隔离级别

执行下面的命令和SQL语句,查看当前会话的隔离级别(请注意,有两种查看的方法):

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
show transaction_isolation;
SELECT current_setting('transaction_isolation');
\q
4.设置当前会话的隔离级别

执行下面的命令和SQL语句,设置并查看当前会话的隔离级别:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
-- 下面的语句设置会话的隔离级别为REPEATABLE READ
SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ;
show transaction_isolation;
\q

我们发现,会话的隔离级别已经被修改为REPEATABLE READ
退出当前会话之后,再次登录到数据库(新会话),我们发现该会话的隔离级别还是数据库原来的读提交隔离级别:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
show transaction_isolation;
\q

也就是说,在会话级修改数据库的隔离级别,只影响当前的会话

5.设置当前事务的隔离级别

执行下面的命令和SQL语句,设置并查看当前事务的隔离级别:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
-- 显示会话当前隔离级别
show transaction_isolation;
-- 开始一个新的事务,并设置新事务的隔离级别为REPEATABLE READ
START TRANSACTION ISOLATION LEVEL REPEATABLE READ; 
-- 显示事务当前隔离级别
show transaction_isolation;
-- 结束当前事务
commit;
-- 再次显示会话当前隔离级别
show transaction_isolation;
\q

上面的实验显示,登录openGauss DBMS之后,会话的隔离级别是数据库系统默认的隔离级别READ COMMITTED,在该会话中开始的新事务也继承了会话的隔离级别READ COMMITTED我们可以临时改变事务的隔离级别为REPEATABLE READ,当事务结束(本例为提交,也可以是回滚)后,新的事务又会恢复为原来的隔离级别。

二、读提交隔离级别测试

默认情况下openGauss会话的隔离级别是读提交,可以通过下面的实验来验证这一点。本实验需要在手动事务管理环境进行。
使用Linux用户omm,打开一个Linux终端窗口(将该窗口命名为窗口1),执行如下的命令:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
\set AUTOCOMMIT off 
select * from instructor;
select sum(salary) from instructor;

使用Linux用户omm,打开另外一个Linux终端窗口(将该窗口命名为窗口2),执行如下的命令:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
\set AUTOCOMMIT off 
select * from instructor;
select sum(salary) from instructor;

我们可以看到,在窗口1和窗口2的两个openGauss会话中,看到的表instructor的数据是一样的,因此教师的工资总和也是一样的。
继续在窗口2中执行如下的命令,插入一个新的教师记录后没有进行提交,直接查询插人新记录后的工资总和:

insert into instructor values('88888','Comp. Sci.','temp_user',60000);
select * from instructor;
select sum(salary) from instructor;

在这里插入图片描述

可以看到,在窗口2的会话中为表instructor插人一行数据后虽然暂时不提交,但在窗口2的会话中能看到这条记录,统计工资总和时也会加上这行的值(已经变成了958000)。
转到窗口1,执行如下的命令,再次查看表instructor的数据和教师的工资总和:

select * from instructor;
select sum(salary) from instructor;

在这里插入图片描述
目前,openGauss数据库会话的隔离级别是读提交,由于刚才在窗口2中插入的新行还没有提交,因此在这个会话中暂时还看不到表instructor数据的变化。
再次转到窗口2,执行如下的命令,提交刚才新插入的行:

commit;
select * from instructor;
select sum(salary) from instructor;

重新回到窗口1,执行如下命令,再次查看表instructor的数据和教师的工资总和:

select * from instructor;
select sum(salary) from instructor;

在这里插入图片描述
因为在窗口2中将刚才插人的新行进行了事务提交,窗口1的openGauss会话的数据库隔离级别是读提交,因此在窗口1中也可以看到这一已经完成事务提交的新插入行了。
最后做实验清理工作,以便继续下一个测试。首先随便在窗口1或者窗口2中,清除刚才添加的行:

delete from instructor where id='88888';
commit;

然后分别在窗口1和窗口2中执行下面的g8q1退出命令:

\q

三、可重复读隔离级别测试

使用Linux用户omm,打开一个Linux终端窗口(将该窗口命名为窗口1),执行如下的命令,设置新事务的隔离级别为可重复读,并开始这个事务:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
-- 设置新事务的隔离级别为可重复读
BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
select * from instructor;
select sum(salary) from instructor;

使用Linux用户omm,打开另外一个Linux终端窗口(将该窗口命名为窗口2),执行如下的命令:

gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
\set AUTOCOMMIT off
insert into instructor values('88888','Comp. Sci.','temp_user',60000);
commit;
select * from instructor;
select sum(salary) from instructor;

上面的代码显示,在窗口2的会话中为表instructor插人了一行新记录,并马上进行了事务提交。
在这里插入图片描述

转到窗口1,执行如下的命令:

select * from instructor;
select sum(salary) from instructor;

在这里插入图片描述
我们发现,虽然在窗口2的openGauss会话中将插人表instructor的行提交了,但是因为窗口1openGauss会话的隔离级别是可重复读,故在窗口1的openGauss会话中只能看到事务开始时的数据库数据快照,事务开始之后其他会话对表instructor的修改,在窗口1的openGauss会话中是看不到的。
对于一些报表应用,可重复读隔离级别特别重要,使用可重复读可以使报表结果总是一致的。可重复读隔离级别的实现,并不比读提交昂贵,不用担心因为采用可重复读而造成的性能问题。最后做任务的清理工作,以便继续下一个任务。首先在窗口2中清除刚才添加的行:

delete from instructor where id='88888';
commit;

然后分别在窗口1和窗口2执行gsql退出命令:

\q
http://www.ds6.com.cn/news/35226.html

相关文章:

  • 站长工具网站备案查询seo标题关键词怎么写
  • 网站建设改版目的抚顺网站建设
  • 想学做蛋糕用哪一个网站重庆百度地图
  • 中企动力做的网站百度搜索推广和信息流推广
  • 网站开发web服务器控件实验报告友情链接的定义
  • 怎么取网页视频网站元素网奇seo培训官网
  • wordpress手机类主题百度seo网站优化 网络服务
  • 常见的网站开发语言全网
  • 怀远县建设局门户网站怎样能在百度上搜索到自己的店铺
  • 如何免费建立网站盐酸达泊西汀片是治疗什么的药物
  • 凡科网站手机投票怎么做seo顾问服务公司站长
  • 北京网站建设团队站长之家seo查询
  • 怎么做彩票网站平台站长统计app软件下载官网
  • 哪个网站是专门做招商的平台微信引流推广
  • 石家庄企业网站建设网络推广公司运作
  • 温州人才网站开发超级软文网
  • 钓鱼网站教程seo查询官方网站
  • 网站做百度竞价随机关键词生成器
  • 手机网站排行榜360推广联盟
  • wordpress下载插件北京百度seo工作室
  • 做网站去哪个公司好天津网站seo设计
  • 做音乐网站首页要求平面设计培训
  • 公司注册代办服务机构seo课程培训要多少钱
  • wordpress图片自动存储保定seo推广公司
  • 网络公司怎么优化网站微博seo营销
  • 为什么公司要做网站郴州seo外包
  • 提升网站建设品质价位链接提交入口
  • 网络游戏开发商百度seo关键词外包
  • 网站建设如何制作关键词优化排名公司
  • wordpress主题丢失抖音seo什么意思