执行过程图 网络通信 MySQL 是支持多种通信协议的,可以使用同步/异步的方式,支持长连接/短连接。 1.同步/异步 异步的问题 异步可以避免应用阻塞等待,但是不能节省 sql 执行的时间。 如果异步存在并发,每一个 SQL 的执行都
MySQL 是支持多种通信协议的,可以使用同步/异步的方式,支持长连接/短连接。
默认是同步,即客户端需要等Mysql服务器的响应,也是符合大多数情况的。
短连接就是操作完毕以后,马上 close 掉。长连接可以保持打开,减少服务端创建和释放连接的消耗,后面的程序访问的时候还可以使用这个连接。一般我们会在连接池中使用长连接。
show global variables like "wait_timeout"; -- 非交互式超时时间, 如 JDBC 程序
show global variables like "interactive_timeout"; -- 交互式超时时间, 如数据库工具
默认都是 28800 秒,8 小时。
show global status like "Thread%";
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 649 | <—当前被缓存的空闲线程的数量
| Threads_connected | 93 | <—正在使用(处于连接状态)的线程
| Threads_created | 742 | <—服务启动以来,创建了多少个线程
| Threads_running | 5 | <—正在忙的线程(正在查询数据,传输数据等等操作)
+-------------------+-------+
show status like "%connections%";
show global status like "%connections%";
+-----------------------------------+---------------------+
| Variable_name | Value |
+-----------------------------------+---------------------+
| Connection_errors_max_connections | 0 |
| Connections | 101395055 | <–服务启动以来,历史连接数
| Max_used_connections | 742 |
| Max_used_connections_time | 2018-08-21 15:42:38 |
+-----------------------------------+---------------------+
通过连接线程池的命中率来判断设置值thread_cache_size是否合适, 命中率超过90%以上,设定合理。 (Connections - Threads_created) / Connections * 100 %>=90%
SHOW PROCESSLIST;
查看配置
show variables like "max_connections";
在 5.7 版本中默认是 151 个,最大可以设置成 16384(2^14)。
设置配置
set global max_connections = 1000;
mysql -h192.168.8.211 -uroot -p123456
我 们 的 编 程 语 言 的 连 接 模 块 都 是 用 TCP 协 议 连 接 到 MySQL 服 务 器 的 , 比 如 mysql-connector-java-x.x.xx.jar。
这两种通信方式只能在 windows 上面使用,一般用得比较少。
客户端发送 SQL 语句给服务端的时候,(在一次连接里面)数据是不能分成小块发送的,不管你的 SQL 语句有多大,都是一次性发送 比如我们用 mybatis 动态 SQL 生成了一个批量插入的语句,插入 10 万条数据,values后面跟了一长串的内容,或者 where 条件 in 里面的值太多,会出现问题。 相关配置max_allowed_packet,默认4M
服务端来说,也是一次性发送所有的数据,不能因为你已经取到了想要的数据就中断操作,这个时候会对网络和内存产生大量消耗
#参考资料 1.https://mp.weixin.qq.com/s/PEk97JyIlUexuAjFr2pmiw
--结束END--
本文标题: 1. select语句执行过程-网络通信
本文链接: https://lsjlt.com/news/7415.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0