整理小林coding网站关于MysqL的信息笔记
基础篇
以MysqL执行一条select语句,
select * from product_tb where id ='1'
MysqL在中间发生了什么,这就需要了解MysqL的内部的结构,其各个的主要组成部分有两层,Server层和存储引擎层
server层包括了
解析器,查询缓存,预处理器,优化器,执行计划,执行器
存储引擎包括了以不同形式存储的数据,对应的不同的存储引擎
innodb(从5.5之后成为默认的存储引擎)
myisam
memory
csv
...
图片来源为小林网站(https://xiaolincoding.com/mysql)
连接器
-
连接都是TCP三次握手,MysqL基于TCP协议传输
-
查看MysqL服务被多少客户端连接了
-
默认的最长的空闲时长,由wait_timeout参数控制,默认是8个小时,也就是28880秒,如果超过这个时间,空闲的连接会总动断开
-
MysqL连接数的最大限制是多少
MysqL 服务支持的最大连接数由 max_connections 参数控制,超过200个连接,系统就会拒绝接下来的连接请求,并报错提示“Too many connections”。 -
msyql的连接跟HTTP一样,也有短连接与长连接的分别
连接 MysqL 服务(TCP 三次握手) 执行sql,执行少量的占时间短的sql 断开 MysqL 服务(TCP 四次挥手) // 长连接 连接 MysqL 服务(TCP 三次握手) 执行sql 多个sql,时间长 执行sql 执行sql .... 断开 MysqL 服务(TCP 四次挥手)
长连接的好处就是可以减少建立连接和断开连接的过程时间,但是长连接可能会占用内存增多,有可能被系杀掉进程,会发生MysqL服务异常重启的现象。
-
如何解决长连接占用内存的问题