首批通过分布式安全可靠测评,为关键业务系统打造
GV$SQL_AUDIT 中的 MEMSTORE_READ_ROW_COUNT 和 SSSTORE_READ_ROW_COUNT 的值为什么为 0
更新时间:2026-05-14 08:46
GV$SQL_AUDIT 中有关 MEMSTORE_READ_ROW_COUNT 和 SSSTORE_READ_ROW_COUNT 的说明如下。
MEMSTORE_READ_ROW_COUNT:MemStore 中的读行数。SSSTORE_READ_ROW_COUNT:SSStore 中连读的行数。
关于 GV$SQL_AUDIT 更多字段的介绍,可参考 GV$SQL_AUDIT。
当执行一个查询 SQL,一般情况下 MEMSTORE_READ_ROW_COUNT 和 SSSTORE_READ_ROW_COUNT 的值理论上会有一个肯定是非 0 值,但是当使用 PX 执行时,OceanBase 数据库不会记录执行过程中 MEMSTORE_READ_ROW_COUNT 和 SSSTORE_READ_ROW_COUNT 的值,非 PX 执行的 SQL 会记录 MEMSTORE_READ_ROW_COUNT 和 SSSTORE_READ_ROW_COUNT 的值。
适用版本
OceanBase 数据库 V2.2.77 版本。
示例
当查询 SQL 语句不使用 PX 执行时,此时
MEMSTORE_READ_ROW_COUNT和SSSTORE_READ_ROW_COUNT的值不为 0 。obclient [test]> select MEMSTORE_READ_ROW_COUNT,SSSTORE_READ_ROW_COUNT,query_sql from oceanbase.gv$sql_audit where query_sql like 'select * from test where id = 100';返回结果如下:
+-------------------------+------------------------+------------------------------------+ | MEMSTORE_READ_ROW_COUNT | SSSTORE_READ_ROW_COUNT | query_sql | +-------------------------+------------------------+------------------------------------+ | 100005 | 6 | select * from test where id = 100 | +-------------------------+------------------------+------------------------------------+ 1 row in set当查询 SQL 语句使用 PX 执行时,此时
MEMSTORE_READ_ROW_COUNT和SSSTORE_READ_ROW_COUNT的值为 0 。obclient [test]> select MEMSTORE_READ_ROW_COUNT,SSSTORE_READ_ROW_COUNT,query_sql from oceanbase.gv$sql_audit where query_sql like 'select /*+ PARALLEL(8) */ * from test where id = 100';返回结果如下:
+-------------------------+------------------------+-------------------------------------------------------+ | MEMSTORE_READ_ROW_COUNT | SSSTORE_READ_ROW_COUNT | query_sql | +-------------------------+------------------------+-------------------------------------------------------+ | 0 | 0 | select /*+ PARALLEL(8) */ * from test where id = 100 | +-------------------------+------------------------+-------------------------------------------------------+ 1 row in set (0.069 sec)