常见的数据库分类方法


本文摘自PHP中文网,作者angryTom,侵删。

常见的数据库分类方法

随着互联网的不断发展,企业在处理数据信息上可以采用的方法也在增多,而今天我们就一起来了解一下,常见的几种数据分类方法都有哪些。

1,读未提交,Read Uncommited。

指的是一个事务读取到另外一个事务还没有提交的内容。这种情况是必须要避免的。因为其他事务未提交的数据,是随时有可能进行回滚的,所以,任何时候,都不应该允许程序读取到某个事务还未提交的数据。如果读取到了别的事务未提交的数据,这种情况称为脏读。要想解决脏读的问题,可以提高数据库的事务隔离级别,把事务隔离级别设置为读已提交。

2,读已提交,Read Committed。

这个隔离级别可以解决脏读的问题。

在该隔离级别下,不允许2个未提交的事务之间并行执行,但它允许在一个事务执行的过程中,另外一个事务得到执行并提交。这样,会出现一种情况,一个事务前后两次select出来的某行数据,值可能不一样。值改变的原因是,穿插执行的事务2对该行数据进行了update操作。在同一个事务中,两次select出来的值不相同的问题称为不可重复读问题。要想解决不可重复读问题,需要把数据的隔离级别设置为可重复读。

3,可重复读。Repeatable Read。

在这个隔离级别下,可以解决不可重复读的问题。

在该隔离级别下,在一个事务使用某行的数据的过程中,不允许别的事务再对该行数据进行操作。可重复读应该是给数据库的行加上了锁。这种隔离级别下,依旧允许别的事务在该表中插入和删除数据,于是就会出现,在事务1执行的过程中,如果先后两次select出符合某个条件的行,如果在这两次select直接另一个事务得到了执行,insert或delete了某些行,就会出现先后两次select出来的符合同一个条件的结果不一样,一次select好像出现了幻觉一样,因此,这个问题也被成为幻读。要想解决幻读问题,需要将数据库的隔离级别设置为串行化。

4,串行化,Serialization。

串行化可以解决幻读的问题。

它要求事务的执行完全串行执行。所以失去了并发的效率。

Mysql的默认隔离级别为可重复读。

总而言之,数据的事务隔离级别分为4种,从低到高依次为读未提交,读已提交,可重复读,串行化。与数据库事务隔离级别相关的问题有3个,分别是脏读,不可重复读,幻读。脏读问题需要用读已提交来解决,但读已提交会存在不可重复读问题。不可重复读问题需要用可重复读来解决,但可重复读会存在幻读问题。幻读问题需要用串行化来解决。

推荐 《mysql视频教程》

以上就是常见的数据库分类方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mysql有什么作用?

如何使用mysql数据库,mysql的使用方法?

mysql数据库服务器安装与配置教程

mysql数据库之信息函数与加密函数

常见的数据库分类方法

mysql数据库查询基础,简单查询,条件查询,对查询结果排序

mysql数据库在centos7下无法远程连接的原因以及解决详解

数据库事务隔离级别有哪些

mysql数据库中影响性能因素的讲解(附数据库架构案例)

java如何连接mysql数据库?

更多相关阅读请进入《数据库》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...