gpt4 book ai didi

sql - 如何查看 Oracle 索引的内容?

转载 作者:搜寻专家 更新时间:2023-10-30 20:13:05 25 4
gpt4 key购买 nike

是否可以使用 SQL*Plus 查看索引中的内容?

如果我有这样一张表:

Table A
------------------------
rowid | id name
123 | 1 A
124 | 4 G
125 | 2 R
126 | 3 P

其中 id 是主键,我希望索引是这样的

index on A.id
-------------
id rowid
1 123
2 125
3 126
4 124

是否有一些 SQL 查询可以让我真正看到索引的内容?

最佳答案

没有简单的查询 - 您可以将表或索引 block 转储到跟踪文件,但您必须确定您感兴趣的 block 。Dion Cho 有一个 example了解如何使用 SQL 处理此 block 转储,但这不适合胆小的人。

但是,您可以这样做:

select /* index_ffs (a [name of index]) */
id, rowid
from a
where id is not null
order by id, rowid;

Oracle 不会在所有被索引的值都为空的情况下编写索引条目,因此如果 id 可以为空,我们需要将其过滤掉。 index_ffs 提示强制 Oracle 满足读取索引 block 而不是数据 block 的查询。此“解决方案”不显示根 block 或分支 block 中的数据,而 block 转储可以。

关于sql - 如何查看 Oracle 索引的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com