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

网站建设与推广工资电子商务具体是干什么的

网站建设与推广工资,电子商务具体是干什么的,上海市开办企业一窗网上服务,东莞企业名录大全什么是事务 因为事务的存在,可以使得多条sql语句一起执行,并且只有全部执行成功或全部执行失败俩种结果,保证了数据的安全,也使得这些sql语句拥有了原子性,隔离性,一致性,持久性(AC…

什么是事务

因为事务的存在,可以使得多条sql语句一起执行,并且只有全部执行成功或全部执行失败俩种结果,保证了数据的安全,也使得这些sql语句拥有了原子性,隔离性,一致性,持久性(ACID)

事务的ACID特性

Atomicity(原子性):一个事务中的所有操作,要嘛全部都执行失败,要嘛全部执行成功这俩中结果,不会存在某些执行成功,某些执行失败的情况,如果执行失败,能确保数据能回滚(RollBack)搞事务执行之前,就好像这个事务没有执行过一样

Consistency(一致性):事务执行开始和结束之后,数据库的完整性不会被破坏,也就是说数据的写入规则完全符合数据库的预期,包括数据的精度,关联性,约束条件,还会有如果数据库崩溃了应该如何恢复

Isolation(隔离性):数据库允许了多个事务同时的对数据进行读取的修改,那么隔离性就确保他们在对数据进行修改或者读取的时候的数据的准确性,不会因为多线程操作而引起线程安全问题,可以设置不同的隔离性来确保在不同场景下数据库的性能和安全性

Durability(持久性):事务在结束之后数据被储存在响应的存储介质中,确保了即使发生故障数据也不会丢失

事务的隔离性和隔离级别

当同一个数据库被多个事务访问,并对同一张表的同同一条数据进行修改,那就不可避免的会出现不同事务相互影响的情况出现,因为这样,那么不同的事务之间就需要相互隔离起来,这就是隔离性

隔离级别

READ UNCOMMITED读未提交
READ COMMITED读已提交
REPEATABLE READ可重复读
SERIALIZABLE序列化

表格从上到下对应的数据库的并发性能递减

不同的隔离性存在的问题

在sql中开启一个事务之后,在未进行显示提交之前,所有对数据库的操作都不会直接写入数库中,而是会处于暂存状态,只有在提交了事务之后,才会真正的将数据写入到数据库中

READ UNCOMMITED 读未提交

读未提交在隔离级别中最低的,他允许了事务读取到处于暂存状态的数据,但是这样就会有脏读的错误出现

事务A读到了事务B处于暂存状态的数据,那么如果事务B之后将数据回滚的话,那么事务A就读到了脏数据,这是不存在的数据,这种现象就叫做脏读

那么为了解决脏读的情况,可已使用读已提交隔离

READ COMMITTED 读已提交

读已提交只能读取其他事务提交之后的数据,这样就避免了因为读取到了未提交的数据而引起的脏读,但是这样有会引起一个新的问题,不可重复读

当事务A在数据库中读到了数据C,这之后事务B对数据C进行了修改为D并提交,那么这是事务A再读取数据C,结果发现结果为D了,这样就导致了在同一个事务中俩次相同的读取获得的结果不同,这中现象叫做不可重复读

那么为了解决脏读和不可重复读的问题,可以使用可恶重复读

REPEATABLE READ 可重复读

为了解决不可重复读的问题,可重复读加入了行级锁,可重复锁会给事务使用过的数据按行为单位上锁,这样就不允许别的事务去使用,于是就解决了不可重复读的问题,可是这样也会引起新的问题,幻读

当事务A在对数据使用区域查找到CDE之后,CDE都是被上锁,那么事务B不能修改CDE但是,B可以插入数据F到C之后,那么在B提交之后数据变成了CBDE了,这时事务A又使用相同的查询,结果发现结果为CBDE了,这俩次查询到了数据又不同了,这种现象就叫做幻读

那么为了解决脏读,不可重复读,幻读这些问题,就可以使用最强的隔离方式序列化

SERIALIZABLE 序列化

序列化将所有的事务变为串行执行, 必须等上一个事务限制行玩才能接着执行下一个,没有了并发执行的能力,也就不有并发执行带来的问题,安全性最高

事务的相关sql语句

开启一个事务

start transaction;

提交事务

commit;

查看会话的隔离等级

SELECT @@SESSION.transaction_isolation;

查看全局的隔离等级

SELECT @@GLOBAL.transaction_isolation;

设置会话隔离级别

SET SESSION transaction isolation level serializable(隔离级别);

设置全局隔离级别

SET GLOBAL transaction isolation level serializable;

设置事务的访问模式

设置事务只读

SET GLOBAL transaction isolation level read only;

设置只能读写

SET GLOBAL transaction isolation level read write;

end~~

http://www.dtcms.com/a/501789.html

相关文章:

  • 网站定制需求招商网站搭建费用
  • 新网站怎么做seo优化哪个全球购网站做的好
  • 柳市网站建设哪家好宣传 网站建设
  • 网站建设 外包是什么意思浏览器下载
  • php网站开发工程师笔试阿里巴巴网站规划
  • 杭州企业网站制作哪个好深圳 网站建设设计
  • 如果做夺宝网站网站 左右浮动 广告
  • wordpress小工具界面pc网站如何做seo
  • 沈阳网站关键词优化多少钱金坛建设网站
  • vs2005做网站深圳电商网站制作
  • 织梦网站模板响应式广东深圳旅游景点
  • 泰达建设集团网站门户网站建设运营
  • 适合在家做的网站工作个人网站怎么做打赏
  • 10个免费的黑科技网站wordpress没有文章导航
  • 坑梓网站建设代理商wordpress手机版怎么做
  • 精品课程网站设计报告关于网站建设的意义
  • 建设团购网站中山中小企业网站建设
  • qq业务网站平台信息网站大全
  • 非凡免费建网站平台淘宝做动效代码的网站
  • c 做网站方便吗化妆品公司网站设计
  • 实验中心网站建设网站项目建设措施
  • 专用主机网站建设营销网点机构号
  • 哈尔滨松北区建设局网站网站模板的制作怎么做的
  • 自己建个网站多少钱广告设计培训软件
  • 在阿里云里网站建设的步骤过程织梦手机电影网站模板
  • 西安建站系统wordpress 去掉描述的超链接
  • 个人内网网站建设网站开发和 app开发的区别
  • 有关网站开发的论文seo赚钱
  • 自学网站开发多久贵州建设职业技术学院报名网站
  • 网站建设哪家公司便宜国内漂亮大气的网站