0

有没有办法知道存储在列族中的所有 KV 的大小?

4

2 回答 2

1
  1. 对于 API,您可以使用:GetApproximateSizes().

  2. 如果你只是想检查,你可以检查 RocksDB 日志,它有 per column family Compaction Stats,每个级别的 SST 文件大小。

  3. 它不是报告列族大小,但如果您对写入的字节感兴趣,有一个统计报告:rocksdb.bytes.written,您可以通过设置获得统计信息statistics,例如:

options.statistics = CreateDBStatistics()
于 2021-07-13T04:26:36.897 回答
0

如果您想知道列族下所有 SST 文件的总大小,更好的方法是通过GetIntProperty()。在您的情况下,您想传入kTotalSstFileSize

bool ok = db_->GetIntProperty(DB::Properties::kTotalSstFilesSize, &sst_size);

如果您只关心 SST 文件的最新版本,那么您应该使用kTotalLiveSstFileSize代替。

于 2021-12-25T10:22:28.397 回答