【发布时间】:2014-09-12 07:43:36
【问题描述】:
我已经创建了新用户,并在所有表上为新用户授予了选择、更新、删除、插入授权,我的问题是我是否可以使用索引而不授予对现有表的索引的任何授权。
注意:- 我不想创建新索引,我想使用管理员已经创建的现有索引。
【问题讨论】:
我已经创建了新用户,并在所有表上为新用户授予了选择、更新、删除、插入授权,我的问题是我是否可以使用索引而不授予对现有表的索引的任何授权。
注意:- 我不想创建新索引,我想使用管理员已经创建的现有索引。
【问题讨论】:
索引是与表关联的(可选)结构。您不需要向索引授予任何内容,Oracle 会在内部处理它。
如果您有选择表的权限,那么在查询表优化器时将使用所需的索引(如果有)。优化器不会阻止您形成与索引相关的任何内容。
你为什么不自己测试一下?
EXPLAIN PLAN FOR query;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
在执行计划中,查看索引是否被使用。
【讨论】:
没有可用于索引的明确授权。如果您有权访问该表,则可以使用索引。
但我通常不会明确使用索引 - 它由优化器在幕后处理。
【讨论】: