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

基于定义,基于函数的目录是利用如下方法定义的:

譬如我不了解NAME_AC中蕴藏的是大写的拼音仍旧小写的拼音,一般会用如下SQL语句来询问:

添加函数索引到PS_NAMES表。

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

图片 1

万黑莓上UPPER就会走全表扫描,代价是5,显明更费用时间。

接下去再举办查看代价

当您在表DBA_IND_COLUMNS中查看索引时,突显的接近是SYS_NC00033$,那是系统生生的列名,要找到真正的列名,要到表DBA_IND_EXPRESSIONS中的COLUMN_EXPRESSION列查看,如图:

图片 2

图片 3

下一场还有一种叫做函数索引的的表达式,那几个索引是包罗在索引列方圆的表明式的目录。他们在PeopleSoft中非常难得,为了升高一定SQL语句的特性而创办。

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

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

自家的万众号:

图片 4

能够看来走的是索引围观,代价是1.

SELECT * from PS_NAMES WHERE name_ac=’CHENCHEN’

  • 根据表明式,例如算术表达式或带有函数的表明式

  • 据悉降种类(descending ordered column)

可以看来上述查询语句走的是索引围观代价是2。

那几个从没在PeopleSoft系统蒙受性能问题的人,尤其是基于Oracle数据库的PeopleSoft,可能不知底基于函数的目录。

图片 5

依据函数的目录只可以通过数据库中成立,不能够因此AD工具成立。

相关文章