本文共 872 字,大约阅读时间需要 2 分钟。
关系型数据库事务有4个特性,ACID 原子性,一致性,隔离性,持久性; 隔离性不高会出现一些问题
多个事务执行应该和挨个执行的事务的结果是一样的 多个事务运行的时候互相干扰的程度 隔离性不好会出现问题, 脏读,读到没有提交的数据,非常恐怖 不可重复读,就是一条语句在一个是语句查询的不一样 幻读,就是一条语句在一个是语句查询的不一样,偏向于数据 的条目 事务的级别,事务越高,串行化越高效率余地,数据库性能决定了你接收访问的能力 读已提交,解决了脏读,读未提交是最不愿意看到的了 现在有两个数据库链接,就是两个会话,这个是两个进程 把自动提交关闭 现在想要通过这两个表标识并行的效果 在右边进行更新,把自动提交关了就不会自动commit 可重复读,即使对方事务提交了,你一样看不到,也就是在你事务没结束之前,每一次读到的应该一样 提交了,再次开启一个事务,等于重新生成一个快照就有右边提交的数据了,在你的事务没离开前,每次读到的数据应该一样,就是可重复读 设置transaction 事务的isolation隔离级别为提交读,select @@global.tx_isolation是看全局的,全局还是可重复读,现在会话级别是读已经提交 能看到是因为,新开的事务没有sete autocommit=0,右边的操作直接update 设置成手动提交 】右边提交了,就看到数据了 这就是读已提交和可重复读之间的差异一般串行化和读未提交都不选
数据库往往需要事务的支持,数据仓库一般吧海量数据存放下来HIVE,目的为了分析, 数据仓库一般把历年的数据放在一起进行分析,主要用来进行数据分析 ,数据库在线的业务系统会频繁增删改,重点在于事务 查询语句都会返回的结果集,你的解雇处理到第几条,这个游标是需要动的 触发器trigger,条件满足做这个事情,比如用户表一旦插入一条语句,就在另外一张表插入一条语句,触发器在写多的时候可能带来性能问题 存储过程是封装了一批sql语句。我们调用即可现在数据库回归到最原始,就是存数据,持久化,处理数据用程序来做
转载地址:http://vxzgn.baihongyu.com/