快速提问,在填充我的表后,我通过我的解释计划注意到索引,在大多数情况下,似乎只有在我执行后才生效GATHER_TABLE_STATS:
Exec DBMS_STATS.GATHER_TABLE_STATS(ownname => 'USER/SCHEMA', tabname => 'MYTABLE', cascade=> true, degree=> 8);
Run Code Online (Sandbox Code Playgroud)
“ CASCADE ”属性定义为:收集有关此表索引的统计信息。索引统计信息收集不是并行化的。使用此选项等效于GATHER_INDEX_STATS在每个表的索引上运行过程。
所以我的问题是,我应该REBUILD在 之前运行我的索引吗GATHER_TABLE_STATS,因为我假设收集索引统计信息并重建它们不是一回事,或者是吗?
目前,我运行dbms_index_utl.build_table_indexes重建我的索引,然后是GATHER_TABLE_STATS,我只是不知道是否有必要,请注意,我的解释计划似乎表明它是,否则,除非我向查询添加提示,否则索引将不会'习惯了。
收集统计信息和重建索引是两件完全不同的事情。
| 归档时间: |
|
| 查看次数: |
32887 次 |
| 最近记录: |