Oracle 10g上的索引和RLS
【腾讯云】亏本大甩卖,服务器4核16G 1年370元(带宽12M,系统盘120GB SSD盘,月流量2000GB)!!!!!!
云产品 配置 价格
服务器 1核2G,带宽5M,系统盘50GB SSD盘,月流量500GB 38元/年
MySQL 1核1G 19元/年
服务器 16核32G,带宽18M,系统盘250GB SSD盘,月流量5000GB 1197元/年
点我进入腾讯云,查看更多详情

I have table data1 with 2 field: user_id and data_id. I have 2 indexes on user_id and data_id. They are a non unique indexed.

a function:

FUNCTION user_filter(p_schema IN VARCHAR2,
                                   p_object IN VARCHAR2) RETURN VARCHAR2 IS
  BEGIN
    RETURN 'user_id='||session_pkg.user_id;
  END;

I register this function as rls policy on data1:

DBMS_RLS.ADD_POLICY(OBJECT_SCHEMA   => '',
                        OBJECT_NAME     => 'data1',
                        POLICY_NAME     => 'user_filter',
                        POLICY_FUNCTION => 'user_filter');

To have best performance, do I have to create 1 more Index like following?

create index data3_idx on data (user_ID, data_id);

Thanks,

#0

In general it would be wasteful to have three indexes for two columns (data_id), (user_id,data_id) and (user_id) since Oracle can use the compound index for queries that filter on user_id and queries that filter on both columns.

In your case the DBMS_RLS.ADD_POLICY procedure will add the filter user_id=XX to all requests on this object. This means that you could replace the index on data_id with a more efficient compound index.

推荐文章

高级软件工程师要求

高级软件工程师要求

推荐文章

909422229_ListUtils

909422229_ListUtils

推荐文章

struts2 数据校验

struts2 数据校验

推荐文章

Hibernate数据库方言选择问题

Hibernate数据库方言选择问题

推荐文章

Hibernate 入门

Hibernate 入门

推荐文章

在外部tomcat中运行spring boot应用

在外部tomcat中运行spring boot应用

推荐文章

java jconsole 连接远程tomcat 监控服务

java jconsole 连接远程tomcat 监控服务

推荐文章

Java和mysql的数据类型对应

Java和mysql的数据类型对应

推荐文章

Java面试宝典2013版(11版块1000题)

Java面试宝典2013版(11版块1000题)

推荐文章

关于Hibernate三种状态

关于Hibernate三种状态

推荐文章

struts1的整个流程图

struts1的整个流程图

推荐文章

java与tomcat5类加载机制

java与tomcat5类加载机制

推荐文章

Tomcat7源码解读 —— 类加载器

Tomcat7源码解读 —— 类加载器

推荐文章

spring3开发

spring3开发

推荐文章

(纯干货)Mac OS 下 Java Web /API 开发环境搭建:

(纯干货)Mac OS 下 Java Web /API 开发环境搭建:

推荐文章

JAVA Hibernate工作原理及为什么要用

JAVA Hibernate工作原理及为什么要用