取数和发送数据流程-mysql45讲-打卡活动

2021/10/25 19:14:49

本文主要是介绍取数和发送数据流程-mysql45讲-打卡活动,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL 取数和发送数据流程是”边读边发的“,具体流程如下:

  1. 获取一行,写到 net_buffer 中(由参数 net_buffer_length 设置,默认是 16k)
  2. 重复获取行,直到 net_buffer 写满,调用网络接口发出去。
  3. 如果发送成功,就清空 net_buffer,然后继续取下一行,并写入 net_buffer。
  4. 如果发送函数返回 EAGAIN 或 WSAEWOULDBLOCK,就表示本地网络栈(socket send buffer)写满了,进入等待。直到网络栈重新可写,再继续发送。

内存命中率,可以通过执行show engine innodb status,里面Buffer pool hit rate就是当前的命中率

InnoDB Buffer Pool 的大小是由参数 innodb_buffer_pool_size 确定的,一般建议设置成可用物理内存的 60%~80%。

InnoDB 内存管理用的是最近最少使用 (Least Recently Used, LRU) 算法,是用链表来实现的,按照 5:3 的比例把整个 LRU 链表分成了 young 区域和 old 区域。图中 LRU_old 指向的就是 old 区域的第一个位置,是整个链表的 5/8 处



这篇关于取数和发送数据流程-mysql45讲-打卡活动的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程