oracle中怎么建索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中怎么建索引相关的知识,希望对你有一定的参考价值。

UPDATE D401 T1
SET DISTRICT_ID = NVL((SELECT T.DISTRICT_ID
FROM T_DISTRICT T
WHERE T.DISTRICT_CODE = SUBSTR(T1.D401_20, 1, 8)
AND T1.DISTRICT_ID = '0'),
0)
这个语句怎么写索引

create index idx_T_DISTRICT_code on T_DISTRICT(DISTRICT_CODE);
create index idx_D401_disid on D401(DISTRICT_ID);
create index idx_D401_20_disid on D401(SUBSTR(T1.D401_20, 1, 8),DISTRICT_ID);

参考技术A 如果速度还慢,可以分析一下索引,analyze index 索引名 compute statistics再不行,改用存储过程 参考技术B create index inx_D401 on D401(DISTRICT_ID);

Oracle建个索引都加不进去,和业务量有没有关系

参考技术A 因为没有走索引程序。
第一:建立索引。
2,拟真环境F5执行计划。
3,开发环境F5执行计划。
例如常见的,TO_CHAR、TO_DATE、TO_NUMBER、TRUNC、、、等等。此时的解决办法可以使用函数索引,顾名思义就是把使用函数后的字段整体当成索引中的字段。
如下的TO_CHAR(SHOHOU_DATE,\'YYYYMMDD\')就是一个函数索引,因为日期字段中含有时分秒,进行日期比较的时候,必须转化成固定的格式。

以上是关于oracle中怎么建索引的主要内容,如果未能解决你的问题,请参考以下文章

怎么查看索引oracle,建索引

oracle 建索引怎么开启并行?

Oracle建个索引都加不进去,和业务量有没有关系

oracle查询数据速度慢,已建索引的。求助

oracle没有锁不能建立索引

MSSQL里面建索引的问题