真对select count(O_CUSTKEY) from orders b where b.O_ORDERDATE =‘1996-12-14’;这里重点是cache_hit_count数值太多,如果表的主键是varchar类型,那么可以通过_tidb_rowid排序方式回表扫描来减少block cache_hit_count。SQL做如下改写:select count(O_CUSTKEY) from orders where _tidb_rowid in (select _tidb_rowid from orders b where b.O_ORDERDATE =‘1996-12-14’ order by _tidb_rowid)。 就是让_tidb_rowid有序,减少对orders回表的block的访问次数。 但是这里的orders表的主键是o_custkey是bigint类型的聚簇表的键值,因此并无法这样子做优化。对于o_orderdate字段的索引上存在o_custkey这个rowid吧,如此一来按说不应该再回表了才对呢。