Heim  >  Artikel  >  Backend-Entwicklung  >  多个用户同时操作一个表的问题

多个用户同时操作一个表的问题

WBOY
WBOYOriginal
2016-06-23 13:47:531283Durchsuche

请教一个问题
比如说建立了一个 会员号表  id   cardsn(会员号)   uid      cardsn是连续的 像 031001 ,031002     现在有这样一个功能   点击一个按钮增加5条记录 且是连续的  那么每次就要获取最新的会员号 然后以此为基准 连续生成5个号 插入数据库   问题就是如果多个用户同时操作这个表   那么每次获得的最新一条记录用来连续 就不准确了  请教一下大家 这个问题应该怎么解决


回复讨论(解决方案)

你可以开启事务。

如果5个用户同时对表操作,总有个先后的,你可以参考mysql事务处理,当你用户操作表的时候,会把表锁住,等操作完,其他用户才会继续操作。
如果并发很大,建议通过memcache队列的形式处理,缓解数据库表的压力。

使用队列形式处理

如果5个用户同时对表操作,总有个先后的,你可以参考mysql事务处理,当你用户操作表的时候,会把表锁住,等操作完,其他用户才会继续操作。
如果并发很大,建议通过memcache队列的形式处理,缓解数据库表的压力。

    其它的很多操作都会用到这个表  把表锁住会不会影响其它的操作

使用队列形式处理

  能不能给具体说一下思路

使用事?
先?表,?理完再解除?定。
?考: http://koda.iteye.com/blog/471713

使用事?
先?表,?理完再解除?定。
?考: http://koda.iteye.com/blog/471713

 谢谢 结贴给分

使用事?
先?表,?理完再解除?定。
?考: http://koda.iteye.com/blog/471713

 能否在问一个问题  我的数据库现在的表都是MyISAM 类型  如果使用锁定表 在解锁的形式  那其它的操作在用到用到这个表时会不会受到影响  比如说锁定表时执行的是插入操作,其它又有一个操作要查询这个表  那查询这个操作会受到影响吗?

锁表就是将原来并行的操作变成了串行操作
当然要影响性能的

锁表就是将原来并行的操作变成了串行操作
当然要影响性能的

 斑竹再请教一个问题  比如说锁表的时候 目的是向这个表插入5个记录  其它的另一个操作 比如说注册也会向这个表插入数据 那么可能会出现插入失败对吧

使用了表锁就产生了排队,但不会引起插入失败

使用了表锁就产生了排队,但不会引起插入失败

  谢谢斑竹的热心回答

 谢谢大家的热心回答

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn