各位大侠,本人菜鸟。
最近用crystal report做了一个报表,但是运行速度奇慢。研究了下,是因为里面的某个条件的缘故:
WHERE FIX_DATE=to_date('2013/02/14','yyyy/mm/dd')如果换成比如说Trade_Date=xxxx就很快。FIX_DATE这个字段有很多null值,不知道是不是这个缘故导致搜索很慢,如何解决呢?
最近用crystal report做了一个报表,但是运行速度奇慢。研究了下,是因为里面的某个条件的缘故:
WHERE FIX_DATE=to_date('2013/02/14','yyyy/mm/dd')如果换成比如说Trade_Date=xxxx就很快。FIX_DATE这个字段有很多null值,不知道是不是这个缘故导致搜索很慢,如何解决呢?
对于每一行数据都回执行这个函数,所以慢了。你在前面直接定义一个日期变量好了。
大侠,但是我如果改成trade_date=to_date()这样还是很快的呃,所以我怀疑跟fix_date这个字段有关系。先定义一个日期变量的话怎么搞呢?crystal report里面本来就是先设一个parameter,比如说叫做date,然后selection formula里面直接写一下fix_date={?date}这样的呃
你这个我倒是真不清楚了。你检查过FIX_DATE和trade_date了类型都相同么?
2、FIX_DATE的数据类型是否和to_date()的返回结果一致
3、FIX_DATE是否有索引
WHERE FIX_DATE in (select to_date('2013/02/14','yyyy/mm/dd') from xxx)