社区
MySQL
帖子详情
多个线程同时select一张表,会有冲突吗?
loskill
2015-06-30 06:14:16
我用的存储引擎是myisam,有多个连接会同时select这张表,但不会修改这张表,这样操作会不会有冲突,会不会锁表。
...全文
1024
5
打赏
收藏
多个线程同时select一张表,会有冲突吗?
我用的存储引擎是myisam,有多个连接会同时select这张表,但不会修改这张表,这样操作会不会有冲突,会不会锁表。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
码无边
2015-07-01
打赏
举报
回复
MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;对 MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作;MyISAM表的读操作与写操作之间,以及写操作之间是串行的。
道玄希言
2015-06-30
打赏
举报
回复
不修改表, 仅仅只是查询,如果都能导致锁表, 那mysql也可以去撞墙了,^_^ 查询只是扫描下数据, 然后找出你要的结果输出, 只会受机器硬件配置, 网络带宽等影响你的查询反映速度了。
ACMAIN_CHM
2015-06-30
打赏
举报
回复
如果只是select 不会相互影响。 select * from table order by key ,如果几个SESSION执行完全相同的SQL语句,则第二个执行的感觉会更快。因为MYSQL已经执行过一次并缓存了。 如果执行不同的SQL语句,则影响不大,当然连接的用户越多,对CPU,磁盘,网络的竞争就越大,会有影响。
loskill
2015-06-30
打赏
举报
回复
但是连接多了,select就会很慢吗?我的sql语句很简单,就是全表扫描,select * from table order by key,就是这样的。
taodala
2015-06-30
打赏
举报
回复
这个肯定 不会冲突啊....
多
线程
查询、修改Mysql
表
会
有
冲突
吗?
我用的存储引擎是MyISAM,有
多个
连接
会
同时
select
这张
表
,但不
会
修改这张
表
,这样操作
会
不
会
有
冲突
,
会
不
会
锁
表
? 不
会
锁
表
,不
会
有
冲突
, MyISAM
表
的读操作,不
会
阻塞其他用户对同一
表
的读请求,但
会
阻塞对同一
表
的写请求; 对 MyISAM
表
的写操作,则
会
阻塞其他用户对同一
表
的读和写操作; MyISAM
表
的读操作与写操作之间,以及写操作之间是串行的,读操作是并行的。 http://
关于linux多
线程
同时对一个fd做
select
多
线程
(多进程也是差不多的情况),
select
同一个fd,发现在某些情况下面,的确
会
有
多个
线程
(进程)被唤醒,然后只有一个
线程
能够accept(stream类型的fd)或者recv(如果是diagram的fd),其它的则
会
在accept或recv处阻塞,当然如果把fd设成非阻塞的,则
会
返回一个失败。所以多
线程
同时
select
一个fd时,还是把fd设成非阻塞的,省得麻烦。因为循环处理时,往往也顺便在
多
线程
操作数据库
当多
线程
对同一数据库进行操作的时候
会
可能发生
冲突
。 读读不
会
冲突
,读写,写读等操作应该
会
引起
冲突
(其中的写包括update、delete和insert)。 解决
冲突
的方法: 1.使用
select
* from
表
名 with(nolock) --不对
表
加锁进行访问。即使有个用户正在delete
表
名,也可以查询出当前
表
的数据 2.常见的并发问题,使用锁和事务来控制
mysql 读写
冲突
_多
线程
并发操作数据库时报读写
冲突
的错误 | 学步园
【解决方案一】要提升SQL的查詢效能,一般來說大家會以建立索引(index)為第一考量。其實除了index的建立之外,當我們在下SQL Command時,在語法中加一段WITH (NOLOCK)可以改善線上大量查詢的環境中資料集被LOCK的現象藉此改善查詢的效能。不過有一點千萬要注意的就是,WITH (NOLOCK)的SQL
SELECT
有可能會造成Dirty Read。例如:
SELECT
COU...
mysql 多
线程
主键_多
线程
批量插入MySQL报主键
冲突
设置max_execution_time 来阻止太长的读SQL。那可能存在的问题是
会
把所有长SQL都给KILL 掉。有些必须要执行很长时间的也
会
被误杀。自己写个脚本检测这类语句,比如order by rand(), 超过一定时间用Kill query thread_id 给杀掉。那能不能不要杀掉而让他正常运行,但是又不影响其他的请求呢?那mysql 8.0 引入的资源组(resource grou...
MySQL
57,065
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章