0
点赞
收藏
分享

微信扫一扫

《MySQL tips:并发查询与并发连接区别》

并发连接与并发查询,并不是一个概念。

在执行​​show processlist​​的结果里,看到了几千个连接,指的是并发连接。

而"当前正在执行"的语句,才是并发查询。

并发连接数多影响的是内存。

并发查询太高对CPU不利。一个机器的CPU核数有限,线程全冲进来,上下文切换的成本就会太高。

所以需要设置参数:​​innodb_thread_concurrency​​用来限制线程数。

当线程数达到该参数,InnoDB就会认为线程数用完了,会阻止其他语句进入引擎执行。

需要注意的是,在线程进入锁等待以后,并发线程计数减一,所以等行锁或者间隙锁时的线程是不算在计数范围内的。也就是说进入锁等待的线程不吃CPU,从而避免整个系统锁死。


举报

相关推荐

0 条评论