oracle查询表唯一索引,oracle查询索引(oracle查看表索引)

oracle查询索引(oracle查看表索引)

2020-07-24 11:01:26

共10个回答

选中表右键View然后查看index

7fb182b1cf2ddc0b88ebaec41052d0a9.png

通过PL/SQL可以直接查看某表是否建索引,通过SQL查询selectstatus,T.*fromuser_indexesTwheretable_name='表名'oracle查看有效索引是这个:selectstatus,T.*fromuser_indexesT,wheretable_name='TABLE1'最好弄个图像界面软件,就能知道,比如:PL/SQLDeveloper数据库中的失效的索引、索引分区、子分区:如果不是失效的索引,那么都是有效的.

1e70c980055ba7d735399f5602a30f8d.png

一、查看和建立索引select*fromuser_indexeswheretable_name='student'createindexi_student_numonstudent(num)二、使用索引的注意点①类型匹配若student中num

b97d8aa5d1e47926d194c8734ee1d365.png

oracle对于数据库中的表信息,存储在系统表中.查询已创建好的表索引,可通过相应的sql语句到相应的表中进行快捷的查询:1.根据表名,查询一张表的索引select*

3458dfc798ddf09e670bf7e1b3c39514.png

1、通过pl/sql可以直接查看某表是否建索引2、通过sql查询selectstatus,t.*fromuser_indexestwheretable_name='表名'

b4b02bed9dc6f884761812922d989dbf.png

dba权限的账号使用:selectS.index_namefromdba_indexesswheres.table_name=表名;--查出索引名然后根据索引名去DBA_IND_COLUMNS视图中查看相应字段:SELECTs.column_nameFROMDBA_IND_COLUMNSSWHERES.index_name=索引名如果是该表所有者的账号,把相应视图名做下列修改:dba_indexes=》user_indexesDBA_IND_COLUMNS=》user_ind_columns

0220024e02869f5266900b08fdf9e9e7.png

有两种办法:(1)视图dba_constraints,这张表中有所有的表的约束,拥有唯一约束的字段就拥有唯一索引,其中Constraint_type的值应该是U,不过值是R的表示主键,这个也存在唯一索引,不知道你要不要找这种,所以个人认为在这张表内能找到.(当然,还有相关的all视图和user视图)(2)视图dba_indexes,这里的index_type应该也能查到唯一索引,不过具体的字段值是什么我忘记了,可能要自己找一找.

c7c109d6c1ad989ffe6a47a93755ee57.png

1.根据表名,查询一张表的索引:select*fromuser_indexeswheretable_name=upper('表名').2.根据索引号,查询表索引字段:select*fromuser_ind_columnswhere

9e8f5f7b83c2d56f174a01034b5a83ad.png

user是oracle中一个表空间的名字.可用如下语句查询哪些索引使用了user表空间.selectindex_name,tablespace_namefromdba_indexeswheretablespace_name='user';

aee30c67a23a795328420a2057ed9d3e.png

通过user_indexes视图可以查看.比如查看emp表有没有索引SQL>selectindex_namefromuser_indexeswheretable_name='EMP';INDEX_NAME------------------------------PK_EMPIDX_TEXT

0c74faca81838865862020744f2313ab.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值