内省工具概览

借助 Cloud Spanner 的内省工具,您可以调查数据库问题。它们由一组内置表组成,您可以通过查询这些表更深入地了解查询、事务、读取等。不确定针对特定问题使用哪个工具?以下列表总结了每种工具及其可以帮助解答的问题类型。

查询统计信息

要帮助调查数据库问题,了解哪些查询费用较高、频繁运行或扫描大量数据会很有帮助。

查询统计信息是以 1 分钟、10 分钟和 60 分钟间隔内收集的成功完成查询的汇总统计信息。统计信息包括最高 CPU 使用率、总查询执行计数、平均延迟时间、扫描最多的数据以及其他基本查询统计信息。使用这些统计信息可帮助确定费用较高的查询、频繁运行的查询或数据密集型查询。

读取统计信息

使用 Cloud Spanner Reads API 可以利用读取统计信息来调查数据库上最常见且使用资源最多的读取。这些统计信息以 3 个不同的时间间隔(每分钟、10 分钟和一小时)收集并存储。对于每个时间间隔,Cloud Spanner 都会跟踪使用最多资源的读取。

使用读取统计信息可找出所有读取的总资源使用率,找出使用 CPU 最多的读取,以及找出特定读取随时间推移的频率变化。

事务统计信息

事务统计信息可用于调查事务相关问题。例如,您可以检查是否存在可能会导致争用的运行缓慢的事务,也可以识别导致性能下降的事务形状变化。每行包含 1、10 和 60 分钟间隔内对数据库执行的所有事务的统计信息。

每项统计信息中包含的操作

在 Cloud Spanner 中,事务读取查询之间存在一些重叠。因此,您可能不清楚在编译统计信息时要包含哪些操作。下表列出了主要操作及其与每个统计信息表的关系。

操作 事务统计信息 读取统计信息 查询统计信息
强读取
过时读取
一次性事务1(读取)
一次性事务1(查询)
只读事务1(读取)
只读事务1(查询)
读写事务(读取)
读写事务(查询)
读写事务(DML2、变更3

注意:

1 读取相关事务(例如只读事务和一次性事务)不包含在事务统计信息中。事务统计信息表中仅包含读写事务。

2 未提交的 DML 操作不包含在事务统计信息中。

3 实际上无操作空变更不包含在事务统计信息中。