码迷,mamicode.com
首页 > 数据库 > 详细

mysql优化之加锁

时间:2017-09-09 20:57:56      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:nbsp   请求   操作   php   ima   读取   技术分享   logs   使用   

 在电商项目的抢购或其他并发量比较大的项目中,往往会遇到很多人同时操作一张表的情况,这样就会造成读写的错误,特别是写

先看一下不加锁会出现什么情况

先创建一张表

技术分享

正常情况下,右边的php文件执行几次数据表中的id就加几,应该如下图所示,但是高并发时并不是这样

 技术分享

 

现在用ab模拟并发的情况,这里一共请求100次,我们想要的结果是5+100=105,

 技术分享

 

来看下结果,php文件执行了100次数据却只加到46,明显不是我们想要的结果

 技术分享

 

那么现在来加锁试一下

 技术分享

 

再将文件执行100次

 技术分享

 

查看结果,46+100=146正是我们想要的结果

技术分享 

优化:

  给数据库加锁存在一种弊端,就是加锁操作时,别人无法读取数据库数据,造成堵塞

想让修改时别人可以正常读取数据,可以使用文件锁

 技术分享

 

执行测试命令

 技术分享

 

查看结果,正是我们想要的

 技术分享

 

mysql优化之加锁

标签:nbsp   请求   操作   php   ima   读取   技术分享   logs   使用   

原文地址:http://www.cnblogs.com/han-chun-lin/p/7499160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!