MySQL中Innodb表Data free怎么计算
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关MySQL中Innodb表Data free怎么计算的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。大概是空闲extent的大小。ST_FIELD_
千家信息网最后更新 2026年11月02日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_freeST_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安全错误
数据库的锁怎样保障安全
云之行互联网科技
互联网属科技
A股互联网金融科技公司
互联网为科技
互联网 卓越科技
互联网科技作文
齐家互联网科技有限公司
新华互联网科技校企合作
广西拼得多互联网科技有限公司
卫星互联网科技股票
小米互联网科技园设置
互联网和黑科技的看法
福建科技产业互联网发展
互联网还是高科技吗
互联网科技公司实习生
电子科技大学互联网创业大赛
烟台灵鸽互联网科技有限公司
广州富喜互联网络科技
广州三三互联网科技有限公司
武汉亿视互联网科技有限公司
互联网新科技
上海睿民互联网科技有限公司
互联网科技有限公司图片
科技创新互联网企业
互联网 视角下的科技创新
互联网科技公司有哪些
深圳市运趣互联网科技有限公司
宁波青枫互联网科技有限公司
温州喔噻互联网科技有限公司
高科技互联网发展前景如何