1. 审计 SQL 语句:
- 启用 SQL 审计并配置审计选项,以记录 SQL 语句的执行情况。
ALTER SYSTEM SET audit_enable = true;
ALTER SYSTEM SET audit_event = 'sql_statement';
- 查询审计日志,筛选出属于特定租户的 SQL 语句,并检查执行计划。
SELECT * FROM information_schema.AUDIT_RECORD WHERE tenant_id = 'your_tenant_id' AND plan IS NOT NULL;
- 替换 'your_tenant_id' 为目标租户的 ID。
2. 查询性能统计信息:
- 使用性能监控工具或查询系统视图,检查关于全表扫描的性能统计信息。
SELECT * FROM __all_virtual_table_scan_stat WHERE schema_name = 'your_schema' AND table_name = 'your_table';
- 替换 'your_schema' 和 'your_table' 为目标租户的模式和表名称。
3. 检查执行计划:
- 使用 EXPLAIN 命令或相关的工具查看属于目标租户的 SQL 查询的执行计划。
EXPLAIN PLAN FOR SELECT * FROM your_table WHERE your_condition;
- 确保执行计划中没有全表扫描,或者检查是否有适当的索引被使用。
4. 监控系统视图:
- 使用系统视图查询有关表扫描的信息,如 __all_virtual_table_scan_stat。
SELECT * FROM __all_virtual_table_scan_stat WHERE schema_name = 'your_schema' AND table_name = 'your_table';
- 这些视图提供了关于表扫描操作的详细统计信息。
请注意,上述查询和视图的确切名称和内容可能会根据 OceanBase 的版本而有所不同。建议查阅相应版本的官方文档以获取准确的信息。在执行监控操作时,请确保在非生产环境中测试,以避免对实际业务产生负面影响。
转载请注明出处:http://www.zyzy.cn/article/detail/11798/OceanBase