最近在查看一个procedure,运行时间较长。
后来经过他人帮助,发现是由于在where 条件的左边运行了函数trunc
大概语句是这个样子。
where code = '123' and trunc(date) <= sysdate
这里code和date是联合主键,这样也会走索引,但是没想到性能会影响很大,改完后,性能提高了4到5倍。
其实开始的时候,我也发现了,但是并没有在意。以为不会有太大的影响。 看来以后要更加的认真。
并不断的尝试。
最近在查看一个procedure,运行时间较长。
后来经过他人帮助,发现是由于在where 条件的左边运行了函数trunc
大概语句是这个样子。
where code = '123' and trunc(date) <= sysdate
这里code和date是联合主键,这样也会走索引,但是没想到性能会影响很大,改完后,性能提高了4到5倍。
其实开始的时候,我也发现了,但是并没有在意。以为不会有太大的影响。 看来以后要更加的认真。
并不断的尝试。