ITPub博客

首页 > 数据库 > Oracle > aaa

aaa

原创 Oracle 作者:juan025 时间:2019-06-11 17:18:05 0 删除 编辑
          5类权限,5个exists,运算关系是or
          oracle的解析机制是,从左到右,判断exists是否存在
            如果第一个exists成立,则不往下执行,直接返回
            如果第一个exists 不成立,则执行第二个exists,直到成立的那个exists
            理想状态下,只需要执行一个exists
            最坏状况下,需要执行5个exists
          当用户配置了所有的交付单元权限,那么只需要执行一个exists,速度自然快
          当用户只配置了少许交付单元的权限,那么可能只需要执行5个exists,性能自然差
        方案
          短期方案
            在拼凑SQL之前,逐一判断5类权限
              只返回存在权限配置的SQL,即只返回exists为真的SQL
            缺点,如果每类权限都有分配,但是都是非常小量的分配,仍然会导致5段SQL判断
          长期方案
            将鉴权的代码做成物化视图
            物化视图采用fast refresh on commit
      心得

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/693533/viewspace-1985236/,如需转载,请注明出处,否则将追究法律责任。

上一篇: aaa
下一篇: aaa
请登录后发表评论 登录
全部评论

注册时间:2019-02-13

  • 博文量
    26
  • 访问量
    20476