Oracle 更改索引/重建

发布于 2024-10-06 13:51:01 字数 191 浏览 3 评论 0原文

如果我使用 alterindex xrebuild 重建不可用的索引,是否会重新评估之前使用该索引的任何 SQL 的执行计划?

我知道统计数据是在我使用的数据库版本(Oracle 10.2.0.4.0)重建过程中重新计算的。

我不想使用 dbms_stats 包来强制解决此问题,因为我已经获得了新的统计数据!

If I rebuild an unusable index using alter index x rebuild, will the execution plan for any SQL that used that index previously be re-evaluated?

I know that the statistics are re-calculated as part of the rebuild in the DB version I'm using - Oracle 10.2.0.4.0.

I don't want to use the dbms_stats package to force the issue on this, seeing as I've already got fresh stats!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

π浅易 2024-10-13 13:51:01

由于该索引当前不可用,因此没有 SQL 查询使用该索引。当您收集统计信息时(通过重建或 dbms_stats 包),针对基表的所有语句将在下次提交时重新解析(硬解析)。计划可能会因统计数据更新而改变。

因此,重建不可用的索引将使其对所有语句可见且可用,甚至是那些之前已解析过的语句。

since the index is currently unusable, no SQL query uses the index. When you collect statistics (either through a rebuild or the dbms_stats package), all statements against the base table will be reparsed (hard-parse) next time they are submitted. Plans may change due to the stats update.

Rebuilding an unusable index will therefore make it visible and usable by all statements, even those that have been previously parsed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文