![]() Jurisdiction IN (select granted_role from user_role_privs)ĭoes anyone know ways I can speed up that predicate? Thanks. I also tried with dba_role_privs which allegedly should be faster but performance stays the same.īut unfortunately I'm not able to try the third method because my client tells me the sys.user$ table does not exist.Īlso tried indexes on jurisdiction and business domain and they don't improve anything.īusiness_Domain IN (select granted_role from user_role_privs) The bottleneck is the first clause of the predicate. The problem is that this policy slows down the queries made by the users affected by it more than I would like. In those cases, the row is whitelisted and the user can see it. What it does is checking if the user has roles matching both the Jurisdiction and Business domain (of the table I assigned the policy to) and also if they are null or empty. JInitiator 1.3.1.26: A Windows-based Java Virtual Machine (JVM) that runs as a plug-in for Netscape and as an ActiveX component for Internet Explorer. ((Jurisdiction = '''' OR Jurisdiction IS NULL) AND (Business_Domain = '''' OR Business_Domain IS NULL)) ' Pred := ' ((select count(granted_role) from user_role_privs where (granted_role = Jurisdiction OR granted_role = Business_Domain)) = 2) OR I'm currently applying this predicate on a VPD policy: CREATE OR REPLACE FUNCTION limit_table(
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |