
MySQL
文章平均质量分 67
gaojingyuan
这个作者很懒,什么都没留下…
展开
-
1.MySQL-InnoDB事务隔离级别测试
测试使用MySql 5.6.31,IntelliJ IDEA 2017.2数据库插件:查看数据库正在使用的存储引擎,及支持的存储引擎:通过打开新控制台,打开新的sessionroot用户登录(可以看到所有线程) 查看数据库连接打开新的控制台 再次查询 可看到打开了新连接设置事务隔离级别命令:# SET [SESSION|GLOBAL] TRANS原创 2018-01-05 17:33:06 · 275 阅读 · 0 评论 -
1.1MySQL-InnoDB-READ UNCOMMITTE(读未提交)
1.设置为读未提交SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;2.查看隔离级别SELECT @@tx_isolation;3.session A开启事务TA 执行插入操作4.在另一个session B的事务TB中查询数据5.此时如果TA执行ROLLBACK; 回滚数据, 6.TB再次查询原创 2018-01-05 17:57:08 · 2790 阅读 · 0 评论 -
1.2MySQL-InnoDB-READ COMMITTED(读已提交)
1.设置为读已提交SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;2.此时TA执行插入,并查询,可以查询到结果3.TB不能查到结果证明已经不能读到未提交的数据但是仍然存在不可重复读问题 (同一事务内两次读的数据不一致)4.为了演示效果,把用户数据插入数据库并提交,此时表中有一条id为1的 name为aaa的原创 2018-01-05 18:00:56 · 2817 阅读 · 0 评论 -
1.3 MySQL-InnoDB-REPEATABLE READ(可重复读)
1.设置为可重复读SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;2.首先TB做出一次查询,此时name为bb3.TA对数据进行修改,并提交4.此时加入session C作为对比,使用自动事务并做出查询,可见数据已经被修改5.在已经开启事务的TB中,查询到的,仍然是数据开启事务之前的状态,所以数据是可重复原创 2018-01-08 11:08:00 · 587 阅读 · 0 评论 -
1.4 MySQL-InnoDB-SERIALIZABLE(串行化)
1.设置为串行化SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;事务TB进行数据修改事务TA执行查询,由于行被上锁TA被阻塞,不能进行查询要说明的是,这里的串行化指的是是读和写操作的串行化,这种隔离级别不存在多个事务读取数据不一致的情况。两个事务同时读数据在任何隔离级别下都是可以的,只是读已提交、可重复读这两原创 2018-01-08 11:08:18 · 1263 阅读 · 0 评论 -
关系型与非关系型数据库对比
关系型数据库,是指采用了关系模型来组织数据的数据库。 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 目前主流的关系型数据库:收费的Oracle、DB2、MSSQL,免费开源的M原创 2018-01-08 17:02:10 · 409 阅读 · 0 评论 -
MySQL空间数据库
提到空间数据库,首先想到的一定是Esri公司的ArcSDE(SDE即Spatial Database Engine,空间数据库引擎),ArcSDE主要支持的数据库包括Oracle,SQL Server,IBM DB2。功能好,性能好,但是价格也好。 国内很多大型活互联网公司已经转向MySql阵营。对于有实力的大公司,使用开源的MySql,可以针对自己的业务对MySql源码进行修改及优化。对于业务原创 2018-01-08 17:05:04 · 20839 阅读 · 2 评论