# v3 计时与一致率说明 ## 1. 时间统计口径 普通查询 SQL 目前固定执行 **5 次**。 - 第 1 次:执行 SQL,并保存结果 - 第 2~5 次:只执行,不再取结果 - 最终耗时:取 **后 2 次执行耗时的平均值** - 会同时保留 5 次执行时间明细 - 第 1 次取结果的耗时会单独记录 也就是说,当前主对比时间字段是: ```text exe_time = 平均(第4次execute耗时, 第5次execute耗时) ``` 这样做的目的,是尽量避开首轮冷启动和前几轮波动,让最终耗时更接近稳定状态。 ## 2. 一致性判断口径 是对比原 SQL 和优化 SQL 保存下来的 **前 500 行结果**。 当前规则比较简单: - 只比较结果行 - 按行顺序逐行比较 - 每一行会先转成**不带 key 的 value 序列**再比较 - **不比较列名,只看列值和列顺序** 可以理解为: - 行数要一致 - 每一行的值序列要一致 - 如果某一行第一个不同的位置出现差异,就判定“不一致”