Oracle SQL 内存中的数据库 - 比较压缩大小

Oracle SQL database In-Memory - compare compressions sizes

我正在玩 oracle 中的内存存储 sql。我想比较压缩的结果,我的意思是使用量space。例如,我 运行 这些查询:

ALTER TABLE RENTING INMEMORY MEMCOMPRESS FOR QUERY LOW(RETURN_DATE);

ALTER TABLE RENTING INMEMORY MEMCOMPRESS FOR CAPACITY HIGH(RETURN_DATE);

有什么简单的方法可以在 SQL 开发人员中检查这些压缩使用的大小吗?

我找到了这篇文章 https://blogs.oracle.com/in-memory/database-in-memory-compression,其中有一个 table 包含每种压缩类型的 'space used'。这正是我自己想做的。感谢您的任何建议。

填充后查询 v$im_segments 会显示从 table 加载了多少字节以及使用了多少内存存储。

由于列 space 是内存压缩单元 (IMCU) 的一部分,因此无法查看各个列消耗了多少 space。不过,可以在视图 v$im_column_level 中显示单独的列级压缩设置。最接近的是比较两个压缩级别之间的填充大小。正如 Connor 所说,您可以使用 v$im_segments 执行此操作,或者您可以使用视图 v$im_header.

显示对象的单个 IMCU 信息