索引失效

我是删除数据之后过了一天多还没analyze,这不正常啊。我就当这是bug吧,因为其他同样删了大量数据的表还没发现问题

我又发现一张表不走索引,看来不是一张啊,手动执行sql删除数据会这样啊

你理解的是对的,调大tidb_auto_analyze_ratio会更难analyze,是我记错了:rofl:
自动analyze持久化的是表的总行数以及修改的行数,而analyze配置持久化的是:

配置项 对应的 ANALYZE 语法
直方图桶数 WITH NUM BUCKETS
TopN 个数 WITH NUM TOPN
采样数 WITH NUM SAMPLES
采样率 WITH FLOATNUM SAMPLERATE
ANALYZE 的列的类型 AnalyzeColumnOption ::= ( ‘ALL COLUMNS’
ANALYZE 的列 ColumnNameList ::= Identifier ( ‘,’ Identifier )*

只有对数据有大量操作导致的不走索引,才可能是analyze的问题,你可以看看这个表的健康度有多少

我暂时就先这样吧,我看了健康度有很多都是0,我只要她会自动analyze就行,我过几天把集群升级到5.4.1

1、 是否自动analyze和开启阈值受几个参数影响
2、 不自动analyze检查下tidb日志是否因GC导致失败

:grin:

mark 一下

统计信息有问题应该不会影响实际查询才对吧

不影响查询结果,但是影响查询性能,统计信息不准,执行计划选择的不是最优的。

大批量修改之后,手动analyze 一下,配个定时任务。

统计信息不准会导致优化器选择最优的执行计划产生偏差

这种一般和统计信息有关,检查一下。或者返回数据量占比较高。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。