文章目录
如何查看当前Innodb的并发线程数?
在MySQL中:
-
用
Threads_connected表示当前数据库server层的链接数,对应参数max_connections; -
使用
Threads_running表示已经连接的线程中,正在执行SQL的线程并发数 -
我们还知道在Innodb中还存在一个并发数的限制,可以参照参数
innodb_thread_concurrency,它限制了进入Innodb执行某些操作的并发线程数。但是并没有对应的状态值statusshow global status来表示当前有多少个线程进入了Innodb。
这个信息其实隐藏在了show engine innodb status的结果中,见如下
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
0 read views open inside InnoDB
Process ID=3829, Main thread ID=140003619354368, state: sleeping
Number of rows inserted 1146913, updated 524289, deleted 1, read 6832252
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
其中0 queries inside InnoDB就是当前进入innodb的并发
0 queries in queue表示等待队列FIFO中的线程中。
关于Innodb完整的并发控制策略,见
https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-thread_concurrency.html
本文详细介绍了在MySQL中如何查看当前InnoDB的并发线程数,包括使用Threads_connected和Threads_running状态值来理解数据库server层的链接数及正在执行SQL的线程数,并深入探讨了InnoDB内部的并发控制策略。
1231

被折叠的 条评论
为什么被折叠?



