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

网站排名公司哪家好ppt做杂志模板下载网站有哪些

网站排名公司哪家好,ppt做杂志模板下载网站有哪些,wordpress演示数据怎么导入,设计品牌网站公司事务隔离级别是数据库管理系统用来控制多个事务并发执行时对数据的可见性和一致性的机制。MySQL支持四种标准的事务隔离级别,它们定义了事务如何与其他并发事务交互。 四种事务隔离级别: READ UNCOMMITTED(读未提交) READ COMMIT…

事务隔离级别是数据库管理系统用来控制多个事务并发执行时对数据的可见性和一致性的机制。MySQL支持四种标准的事务隔离级别,它们定义了事务如何与其他并发事务交互。

四种事务隔离级别:
READ UNCOMMITTED(读未提交)
READ COMMITTED(读已提交)
REPEATABLE READ(可重复读)
SERIALIZABLE(可串行化)
MySQL 默认的事务隔离级别:
MySQL的默认隔离级别是 REPEATABLE READ。它确保一个事务在执行期间对数据的读取是可重复的,即使其他事务修改了数据,当前事务的查询结果也不会变化。

事务隔离级别的案例展示:
假设我们有以下的表 account,字段包括 id, name, balance:

CREATE TABLE account (id INT PRIMARY KEY,name VARCHAR(100),balance DECIMAL(10, 2)
);
INSERT INTO account (id, name, balance) VALUES (1, 'Alice', 1000.00), (2, 'Bob', 500.00);
  1. READ UNCOMMITTED(读未提交)
    在此级别,事务可以读取到其他事务尚未提交的修改。这是最弱的隔离级别,容易出现脏读。

示例:

事务A更新了数据,但还没有提交。
事务B读取到了事务A未提交的数据。
SQL代码:

-- 设置隔离级别为 READ UNCOMMITTED
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;-- 事务A
BEGIN;
UPDATE account SET balance = balance - 100 WHERE id = 1;-- 事务B
BEGIN;
SELECT * FROM account;  -- 可能读取到事务A的未提交数据
  1. READ COMMITTED(读已提交)
    在此级别,事务只能读取到已提交的事务修改的数据。也可以避免脏读,但仍然可能会遇到不可重复读的问题。

示例:

事务A和事务B分别对同一数据进行读取和修改,事务A读取的值可能会在事务B提交后发生变化。
SQL代码:
– 设置隔离级别为 READ COMMITTED
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

– 事务A

BEGIN;
SELECT balance FROM account WHERE id = 1;  -- 读取 Alice 的余额-- 事务B
BEGIN;
UPDATE account SET balance = balance - 50 WHERE id = 1;  -- 修改 Alice 的余额
COMMIT;-- 事务A
SELECT balance FROM account WHERE id = 1;  -- 可能会得到不同的余额,因为事务B已提交
  1. REPEATABLE READ(可重复读)
    这是MySQL的默认隔离级别。它保证一个事务在执行期间对同一数据的多次读取结果是一样的,即使其他事务修改了数据。它能防止脏读和不可重复读,但可能会出现幻读。

示例:

事务A读取某个范围内的数据,事务B在此范围内插入了新数据。
事务A在后续读取时,可能会看到不同的记录(幻读)。
SQL代码:

-- 设置隔离级别为 REPEATABLE READ
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-- 事务A
BEGIN;
SELECT * FROM account WHERE balance > 300;  -- 读取余额大于300的账户-- 事务B
BEGIN;
INSERT INTO account (id, name, balance) VALUES (3, 'Charlie', 400.00);
COMMIT;-- 事务A
SELECT * FROM account WHERE balance > 300;  -- 可能会看到事务B插入的新记录,发生幻读
  1. SERIALIZABLE(可串行化)
    这是最高的隔离级别。它通过强制事务之间按顺序执行,避免了脏读、不可重复读和幻读。事务的执行就像是串行执行一样。

示例:

在此级别下,事务A和事务B必须按顺序执行,事务B在事务A完成之前不能执行。
SQL代码:

-- 设置隔离级别为 SERIALIZABLE
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;-- 事务A
BEGIN;
SELECT * FROM account WHERE balance > 300;-- 事务B
BEGIN;
-- 事务B将被阻塞,直到事务A提交或回滚
INSERT INTO account (id, name, balance) VALUES (3, 'Charlie', 400.00);
COMMIT;

READ UNCOMMITTED:允许脏读,事务间没有隔离。 READ COMMITTED:避免脏读,但可能发生不可重复读。
REPEATABLE READ:避免脏读和不可重复读,但可能发生幻读(MySQL默认)。
SERIALIZABLE:最强的隔离级别,事务串行执行,避免所有并发问题。

http://www.dtcms.com/wzjs/806160.html

相关文章:

  • 杭州网站优化公司广告页面模板网站
  • 南庄网站建设做直播券的网站有多少
  • 网站后台放在哪里下载黑龙江建设网官网网站
  • 电子商务网站建设有哪些流程网站建设开场白
  • 海南省交通工程建设局网站wordpress search sql
  • 山西城乡和住房建设厅网站微信怎么引流营销呢
  • 还没做域名解析如何访问ftp的网站文件做费网站
  • 诏安建设局网站style wordpress
  • 做网站流量钱谁给百姓网二手车买卖
  • 信息流广告素材网站企业展厅设计设计公司
  • 做安居客网站需要什么浏览器263企业邮箱腾讯登录入口
  • 网站开发和网站运营的区别wordpress去标题版权
  • 网站建设需求多少钱大概建设茶叶网站目的
  • 做影视网站会侵权犯法吗北京住房建设部官方网站
  • c2c电子商务网站开发查网站是否正规
  • 青岛 网站维护免费模板网站
  • 寻找郑州网站建设公司九游下载安装载
  • 岳西县建设局网站网站备案快吗
  • 二级网站都在一台服务器怎么做域名朝阳区的互联网公司
  • 苏州高端网站建设公司哪家好网络维护服务合同
  • 网站如何做一张轮播图上海开发公司
  • 标准网站建设报价单discuz主题
  • 网站你懂我意思正能量晚上在线观看不用下载免费电子商务网站系统规划
  • 做网站 seo郑州建网站价格
  • 海外网站cdn加速下载潍坊网站建设排行
  • 微信小程序商家版郑州网站优化哪家专业
  • 网站建设肆金手指排名9做网站备案都需要什么东西
  • 姜堰网站定制数字营销的概念
  • 滴滴优惠券网站怎么做的响应式网站和普通网站
  • 网站备案及管理的授权书广安做网站的公司