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

佛山专注网站制作细节seo专员

佛山专注网站制作细节,seo专员,室内设计师服务平台,wp网站打开太慢怎么做优化1.什么是数据库事务? 事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执 行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上 的一组操作,要么都执行,要么都不执行。 事务…

1.什么是数据库事务?

事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执
行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上
的一组操作,要么都执行,要么都不执行。
事务最经典也经常被拿出来说例子就是转账了。
假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明
的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出
现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不
对了。事务就是保证这两个关键操作要么都成功,要么都要失败。

2.事务的特性

事物的四大特性(ACID)?
关系性数据库需要遵循ACID规则,具体内容如下:
在这里插入图片描述

  1. 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作
    要么全部完成,要么完全不起作用;
  2. 一致性: 执行事务前后,数据保持一致,多个事务对同一个数据读取的
    结果是相同的;
  3. 隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各
    并发事务之间数据库是独立的;
  4. 持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即
    使数据库发生故障也不应该对其有任何影响。

3.事务的状态

  1. 活动的
  2. 部分提交的
  3. 失败的
  4. 中止的
  5. 提交的

在这里插入图片描述

4. 如何使用事务

begin: 开启一个事务,开启之后不会默认提交,需要手动提交,否则不会刷新到磁盘。
commit: 结束当前事务,刷新到磁盘进行持久化。当前begin没有commit又开启一个begin会自动commit。
rollback: 回滚,将内存中的数据恢复到上一次commit之后。

使用begin开启一个事务,commit结束事务,未commit之前都是在内存中运行,commit之后就会刷新到磁盘进行持久化。未commit之前可以使用rollback回滚,就不会刷新到磁盘。如果已经commit刷新到磁盘则无法回滚。回滚是回滚到上一次commit。
mysql事务会默认提交,一个SQL语句就是一个单独的事务,自己可以设置默认不提交,自己控制事务。

BEGINUPDATE book1 SET num = 1000 WHERE id = 1;COMMIT

这里是引用

查看自动提交变量

SHOW variables like 'autocommit';

设置系统不自动提交

SET autocommit = false;

对DML语言有效,对DDL无效,DDL会自动提交

4.1 显式事务

自己手动BEGIN,COMMIT。开启事务不自动提交

BEGINUPDATE book1 SET num = 1000 WHERE id = 1;COMMIT

4.2 隐式事务

-DDL

隐式使用或修改mysql数据库中的表
当我们使用 ALTER USER、CREATE USER 、DROP USER 、GRANTRENAME USER 、REVOKE 、SETPASSWORD 等语句时也会隐式的提交前边语句所属于的事务。

事务控制或关于锁定的语句

  1. 当我们在一个事务还没提交或者回滚时就又使用 START TRANSACTION 或者BEGIN 语开启了另一个事务时,会 隐式的提交 上一个事务。
  2. 当前的 autocommit 系统变量的值为 OFF,我们手动把它调为 ON 时,也会 隐式的提交 前边语句所属的事务。
  3. 使用LOCK TABLES、UNLOCK TABLES 等关于锁定的语句也会 隐式的提交前边语句所属的事务

加载数据的语句
使用 LOAD DATA 语句来批量往数据库中导入数据时,也会 隐式的提交 前边语句所属的事务

关于MySQL复制的一些语句

使用START SLAVE、STOP SLAVE、RESET SLAVE、CHANGE MASTER TO 等语时会隐式的提交 前边语所属的事务。

其它的一些语句

使用ANALYZE TABLE、CACHE INDEX、 CHECK TABLE、FLUSH、 LOAD INDEX INTO CACHE、OPTIMIZE TABLE、REPAIR TABLE等

5. 事务的常见分类

6. savepoint 的使用

 -- 开始一个事务
BEGINUPDATE book1 SET num = 23 WHERE id = 1;SAVEPOINT s1;#设置保存点UPDATE book1 SET num = 423 WHERE id = 1;ROLLBACK TO s2; #回滚到保存点
http://www.wangmingla.cn/news/37872.html

相关文章:

  • 什么程序做网站安全抖音关键词搜索排名
  • 怎么做外网网站监控黄页引流推广网站入口
  • 一个动态网站的制作流程企业网站建设论文
  • 怎么免费建公司网站跨境电商网站
  • 东西湖区网站建设公司网站推广的策略
  • perl网站建设google app
  • 常州网约车驾驶员资格证网上报名最好的seo外包
  • 深圳网站建设服务哪些便宜网络营销的推广
  • wordpress页面模板谷歌seo优化排名
  • 下载百度官方网站百度收录的网站
  • 移动网站建设学习免费b站推广网址有哪些
  • 管理登陆网站开发软件百度竞价排名算法
  • 网站开发一定得用html吗win10系统优化软件
  • 重庆十大装饰公司排名seo关键词优化培训
  • 承德做网站boyunseo教程最新
  • 网页设计代码意思东营seo网站推广
  • 拓什么设计网站网络推广公司口碑
  • 如何用cms做网站网站建设流程步骤
  • 厦门网站建设是什么意思写一篇软文多少钱
  • 做网站首页的图片素材优化游戏性能的软件
  • 中国设计网简介杭州百度快照优化排名推广
  • 做公司网站备案可以个人中国免费广告网
  • 大型flash网站网站seo 优化
  • 网站制作中的更多怎么做中国站免费推广入口
  • 青海住房建设厅网站域名比价网
  • 怎样网站备案表重庆seo网站哪家好
  • wordpress后台仪表盘铁力seo
  • 海南医院网站建设江苏短视频seo搜索
  • 软件测试培训总结南通seo网站优化软件
  • 做淘宝客网站是如何盈利的百度推广营销