当前位置:   article > 正文

多线程查询、修改Mysql表会有冲突吗?

多线程查询、修改Mysql表会有冲突吗?
我用的存储引擎是MyISAM,有多个连接会同时select这张表,但不会修改这张表,这样操作会不会有冲突,会不会锁表?
不会锁表,不会有冲突,
MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;
对 MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作;
MyISAM表的读操作与写操作之间,以及写操作之间是串行的,读操作是并行的。
http://bbs.csdn.net/topics/391063652


请教多线程操作同一个数据表时,怎么避免表死锁?
1通常来说,是多个线程将数据插入一个队列,然后有个专门的线程来根据队列中的数据对数据库操作,这样就不会有问题
由一个线程读写表, 其它线程则是处理数据
2用lock控制多线程操作队列,然后单独开一个线程写数据库操作 
http://bbs.csdn.net/topics/390027496


多线程操作同一个表会不会导致锁表?
不会有冲突的。不同的线程修改的数据记录都不一样,前提是使用的InnoDB存储引擎,InnoDB支持行锁,MyISAM不支持行锁
update操作时where的id不同,修改的是不同的记录

http://www.itpub.net/thread-460243-1-1.html






声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/387183
推荐阅读
相关标签
  

闽ICP备14008679号