MySQL中Innodb表Data free怎么计算
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章给大家分享的是有关MySQL中Innodb表Data free怎么计算的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大概是空闲extent的大小。ST_FIELD_
千家信息网最后更新 2025年01月31日MySQL中Innodb表Data free怎么计算
这篇文章给大家分享的是有关MySQL中Innodb表Data free怎么计算的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
大概是空闲extent的大小。
ST_FIELD_INFO tables_fields_info[]={... {"DATA_FREE", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, 0, (MY_I_S_MAYBE_NULL | MY_I_S_UNSIGNED), "Data_free", OPEN_FULL_TABLE},...}tables_fields_info[12]就是Data_free
ST_SCHEMA_TABLE schema_tables[]={... {"TABLES", tables_fields_info, create_schema_table, get_all_tables, make_old_format, get_schema_tables_record, 1, 2, 0, OPTIMIZE_I_S_TABLE},...}填充方式get_schema_tables_record函数
其中有一句table->field[12]->store((longlong) file->stats.delete_length, TRUE);实际就是 file->stats.delete_length
其中 file->stats.delete_length调用进行取值
ha_innobase::info_low其中包含avail_space = fsp_get_available_space_in_free_extents(ib_table->space);stats.delete_length = avail_space * 1024;
uintmax_tfsp_get_available_space_in_free_extents( const fil_space_t* space){ ut_ad(space->n_pending_ops > 0); ulint size_in_header = space->size_in_header;//总的页面大小 if (size_in_header < FSP_EXTENT_SIZE) { //碎片页 直接返回0 return(0); /* TODO: count free frag pages and return a value based on that */ } /* Below we play safe when counting free extents above the free limit: some of them will contain extent descriptor pages, and therefore will not be free extents */ ut_ad(size_in_header >= space->free_limit); ulint n_free_up = (size_in_header - space->free_limit) / FSP_EXTENT_SIZE; //(总的页面大小-已经初始化大小)/EXTENT SIZE page_size_t page_size(space->flags); if (n_free_up > 0) { n_free_up--; n_free_up -= n_free_up / (page_size.physical() / FSP_EXTENT_SIZE); //减去extent管理块? } /* We reserve 1 extent + 0.5 % of the space size to undo logs and 1 extent + 0.5 % to cleaning operations; NOTE: this source code is duplicated in the function above! */ ulint reserve = 2 + ((size_in_header / FSP_EXTENT_SIZE) * 2) / 200; ulint n_free = space->free_len + n_free_up; if (reserve > n_free) { return(0); } return(static_cast(n_free - reserve) * FSP_EXTENT_SIZE * (page_size.physical() / 1024));}
感谢各位的阅读!关于"MySQL中Innodb表Data free怎么计算"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
大小
内容
就是
更多
篇文章
页面
不错
实用
函数
实际
文章
方式
看吧
知识
空闲
参考
帮助
有关
管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国家软件开发标准与指南
软件开发技术基础书
幼儿园中班网络安全教案
护苗.网络安全课宣传总结
沈阳无线网络安全技术培训
数据库和网页设计哪个难
两融软件开发
数据库中收录有图书的是哪些
云服务器安全警报如何处理
网络安全日常监管机构
漠河市开展网络安全宣传周活动
数据库按范围查找
为什么苹果13显示无法连接服务器
同时维护多个服务器怎么做
SOPCAST下载软件开发
网络安全视频mp4
数据库劳资管理系统ER图
等价服务器
首席网络安全官年薪
浙江省网络安全生产学院培训证书
嘉兴rpa软件开发公司
铁路网络安全意义
数据库应用技术作用
公司sap连接服务器方法
外包软件开发的报价
刀山服务器
如何把视频连接到云服务器
好口碑的软件开发方案
浙江现代化软件开发试验设备
金蝶软件服务器未运行