[性能调优]在PeopleSoft中采取函数索引

那些没有当PeopleSoft系统遇到性能问题之人,特别是冲Oracle数据库的PeopleSoft,可能未明白基于函数的目录。

依据定义,基于函数的目录是采用如下方法定义之:

  • 冲表达式,例如算术表达式或含有函数的表达式

  • 依据降序列(descending ordered column)

接下来还有雷同栽叫做函数索引的底表达式,这些索引是含有在索引列郊的表达式的目录。他们在PeopleSoft中深难得,为了提高一定SQL语句之性而创造。

例如PS_NAMES表,有一个索引PS4NAMES中字段NAME_AC为着力列:

SELECT * from PS_NAMES WHERE name_ac=’CHENCHEN’

好看来上述查询语句走的是寻觅引围观代价是2。

仍我非理解NAME_AC中贮存的凡大写的拼音还是有些写的拼音,一般会因此如下SQL语句来询问:

SELECT * from PS_NAMES WHERE UPPER(name_ac)=’CHENCHEN’

倘长UPPER就见面倒全表扫描,代价是5,显然还花时间。

填补加函数索引到PS_NAMES表。

CREATE INDEX PSZNAMES ON PS_NAMES (UPPER(NAME_AC));

连片下还实行查看代价

可以看出走的凡摸索引围观,代价是1.

当你在表DBA_IND_COLUMNS中查看索引时,显示的类似是SYS_NC00033$,这是网生生的列名,要找到真正的列名,要交表DBA_IND_EXPRESSIONS中的COLUMN_EXPRESSION列查看,如图:

基于函数的目只能通过数据库被开创,不克透过AD工具创建。

自我的群众号:

相关文章