永发信息网

mysql一个账号 可以产生多少线程

答案:2  悬赏:70  手机版
解决时间 2021-02-07 07:15
  • 提问者网友:临风不自傲
  • 2021-02-06 18:57
RT
求大神指导,谢谢!
最佳答案
  • 五星知识达人网友:第幾種人
  • 2021-02-06 20:07
1 确切的说,是连接和线程关联,而不是账号。一般是一个客户端连接(可以是客户端工具的一个连接或应用程序创建的一个连接),服务端会启动一个线程给予服务,连接做完一些事情(比如查询或更新等操作)后close连接,则线程会被设置为空闲(其销毁则由服务端来控制)。
2 服务端有线程池(连接池)的技术,可能你连接时正好使用的是一个已创建好的但空闲的连接线程,也可能是立即创建的新线程。
3 查看服务端线程相关设置:
show variables like 'thread%';
thread_handling (这个就是处理连接的线程模式)默认是 one-thread-per-connection, 即一个连接一个线程;
thread_concurrency(线程的并发数)
thread_cache_size(线程缓存池的大小),服务端如果性能好,可以设得较大点。
全部回答
  • 1楼网友:夜余生
  • 2021-02-06 21:35
通俗点说,线程与进程都是为了更充足地利用cpu资源。要把程序更有序更高效地让cpu执行,就需要先把程序分块处理,而操作系统可以把程序视为进程进行调度,有多少程序在运行就有多少进程。但有些程序可能会占用很大块cpu资源,如果不再把进程再细分无法更高效利用cpu资源,就把进程分成多个线程。如何分线程是程序自己的事。 mysql是多线程架构,一个查询或者一个过程可以按其运算属性再分开多个线程进行运算,这个线程多少由配置决定,大多数我们不必理mysql线程数,除了需要对mysql深度优化。mysql一个实例就是一个进程,一般情况下mysql进程就一个,而也可以同时启动多个mysql实例,这时就会有多个mysql进程。 在实际应用下,使用多个mysql实例并不多见,如果担心web服务与mysql进程互相争夺资源会影响数据处理的效率,可以把mysql分到独立的服务器。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯