MySQL- table cache最详细笔记

参数:

table_open_cache文件句柄,描述符fd,
table_definition_cache元数据,.frm文件,初始化的时候加载一次。

状态值:

Open_tables。 当前打开表的数量,可以通过命令show open tables查看。第一次开始会缓存系统表.
Opened_tables 通过my_open()函数打开的表数量
Open_table_definitions 当前打开表的定义数量,缓存.frm文件
Opened_table_definitions。打开表的定义的总数量

Table_open_cache_hits
Table_open_cache_misses大概等于Opened_tables
Table_open_cache_overflows

监控项

table_open_cache命中率 : Table_open_cache_hits/(Table_open_cache_hits+Table_open_cache_misses) 但是必须从开始的时候计算

table cache操作流程

1.第一次open文件,将文件fd加载到table cache
2.接下来再次操作需要open文件的时候,先判断在不在open_cache中, 在的话Table_open_cache_hits +1 不在的话Table_open_cache_misses +1 将这次申请的fd放到内核缓存中
3.如果table cache里面缓存的数量达到table_open_cache的值, 需要进行淘汰,淘汰的话Table_open_cache_overflows +1

定义

table cache: 表总缓存
table_open_cache:限制里面的打开数量,文件打符

驱逐方式

1.cache 满了,新的连接打开的表不在里面,
2.cache数量达到table_open_cache 值,然后里面的表不再使用的时候
3.flush tables会将table_open_cache table_def_cache全部驱逐出去
cache满了逐出原则:
1.未使用到的表 LRU

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渔不是鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值