社区
MySQL
帖子详情
MyISAM类型表并发时怎么解决脏读问题
lshfong
2018-03-14 09:03:49
我的表是MyISAM类型,没办法使用事务。在并发高一点的时候会读到脏数据,比如用户A余额为100元,已执行扣除10元的命令,用户余额还有90元。但出现脏读时,select查出来的用户A余额还是100元,请问大家是怎么解决的呢?除了改表类型为innodb外还有其它方法吗?
...全文
1346
5
打赏
收藏
MyISAM类型表并发时怎么解决脏读问题
我的表是MyISAM类型,没办法使用事务。在并发高一点的时候会读到脏数据,比如用户A余额为100元,已执行扣除10元的命令,用户余额还有90元。但出现脏读时,select查出来的用户A余额还是100元,请问大家是怎么解决的呢?除了改表类型为innodb外还有其它方法吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Rotel-刘志东
2018-03-16
打赏
举报
回复
现在应用环境都是innodb引擎。
ckc
2018-03-14
打赏
举报
回复
同一个库表类型可以不同的 你可以新建少数关键表,使用InnoDB类型 这样改动不多,用户应该会同意吧
lshfong
2018-03-14
打赏
举报
回复
我也想用innodb,但是用户哪边的表是MyISAM,如果更改类型,涉及到的技术层面和业务层面很多,用户也不同意更改
zjcxc
2018-03-14
打赏
举报
回复
innodb 才是干这种事的 非要 myisam 的话,那就锁表吧
zjcxc
2018-03-14
打赏
举报
回复
设计上已经决定了什么场景下你该用什么,偏偏要纠结就没办法了
MySQL锁与
脏读
、不可重复读、幻读详解
锁是计算机协调多个进程或线程
并发
访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据
并发
访问的一致性、有效性是所有数据库必须
解决
的一 个
问题
,锁冲突也是影响数据库
并发
访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制 的特点,常见的锁
问题
,以及
解决
MySQL锁
问题
的一些方法或建议。
数据库篇(2)--数据库隔离级别及
脏读
、不可重复读、幻读
一、数据库隔离级别 1.未提交读(Read uncommitted) 未提交读,事务可以读取其他事务未提交的数据,存在
脏读
问题
。 A事务中未提交的内容,在B事务中都可见。如果A事务回滚,B事务读到的数据就是脏数据。 2.已提交读(Read committed) 事务只能看到其他事务已经提交的修改。
解决
了
脏读
问题
,但有不可重复读的
问题
,即同一个事务多次执行同样的查询语句不一样。 3.可重复读(Repeatable read) 避免了不可重复读的
问题
,即能够保证在同..
mysql
脏读
解决
方案_MySQL数据库的核心知识点
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于 Web 应用尤其明显。关于数据库的性能,这并不只是 DBA 才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库
表
结构,对操作数据库
时
(尤其是查
表
时
的 SQL 语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的 SQL 语句的优化,而只是针对 MySQL 这一 Web 应用最多的数据库。希望下面的这些优化技巧对...
MySQL锁机制(
myisam
表
所与innoDB锁)
目录 1、MySQL锁的基本介绍 2、
MyISAM
表
锁 2.1写锁阻塞读 2.2读阻塞写 3、InnoDB锁 3.1、事务及其ACID属性 3.2、
并发
事务带来的
问题
3.3.1、在不通过索引条件查询的
时
候,innodb使用的是
表
锁而不是行锁 3.3.2、创建带索引的
表
进行条件查询,innodb使用的是行锁 总结 1、MySQL锁的基本介绍 锁是计算机协调多个进程或线程
并发
访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用
MyISAM
和 InnoDB 比较
1、
MyISAM
:是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert
MyISAM
比较适合 2、InnoDB:支持事物安全的引擎,支持外键,行锁,事务控制是它最大的特点,在有大量的insert,update语句
时
,使用InnoDB比较合适,特别是针对多个
并发
和QPS较高的
时
候。 ...
MySQL
56,872
社区成员
56,754
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章