Skip to content

innodb_stats_include_delete_marked

xiaoboluo768 edited this page Jun 14, 2020 · 2 revisions
  • 默认情况下,InnoDB在计算统计信息时会读取未提交的数据。 但在对表中数据执行删除操作时未提交事务的数据行,在InnoDB在计算行估计和索引统计信息时会排除掉这些未提交的DELETE操作对应的打有删除标记的记录,这可能导致在除了READ COMCOMIT隔离级别之外的隔离级别中,在表上并行执行的其他事务的执行计划不是最佳的 。为了避免这种情况,可以启用innodb_stats_include_delete_marked,以确保在计算持久性统计信息时,InnoDB把打有删除标记的记录包含进来
    • 当启用innodb_stats_include_delete_marked时,ANALYZE TABLE在重新计算统计信息时会考虑删除标记的记录
    • innodb_stats_include_delete_marked是会影响所有InnoDB表的全局设置。另外,它仅适用于持久化器统计信息,不适用于非持久化统计信息
    • 全局变量,动态变量,布尔型 ,默认值为OFF,5.6.35版本引入

上一篇:innodb_stats_method | 下一篇:innodb_stats_on_metadata

Clone this wiki locally