I want to know if oracle uses index when user queries data from table and that user has been granted just: grant select on table to user
I want to know if it is needed some another grant to use index.
If you want to create a index to a table in another schema first you need to grant the system privilege to the user you want use to create de index. To create an index in another schema, you must have the CREATE ANY INDEX system privilege. Show activity on this post. begin table_owner.
The reason the non-clustered index is not used is because it is more efficient to select the single row using the unique primary key clustered index. You can't get any faster than that to select all columns for a single row (barring a hash index on an in-memory table).
Oracle uses the sort space in memory allocated for the creator of the index (the amount for each user is determined by the initialization parameter SORT_AREA_SIZE ), but must also swap sort information to and from temporary segments allocated on behalf of the index creation.
No, there is no requirement (or ability) to grant access to an index. If the user can access the table then their queries can use any available index.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With