1. 需求描述
知识点:系统为了提高报表的运行效率会对系统生成的sql 进行优化,进而使报表生成的sql与预想中的不同。
需求的场景:在制作分析表的过程中会发现有时报表产生的sql 与预想中的sql 差别很大,甚至某些数据期查询条件根本没有在生成的sql中体现,无法根据生成的sql 判断报表制作是否有问题。
2. 问题分析
1、 系统为了提高报表的查询效率,可能会对生成的sql进行优化,sql查询出的结果也仅仅是作为最终查询结果的中间结果集;
2、 得出中间结果集之后系统根据报表的中的过滤条件在中间结果集中进行筛选最终得出报表的结果;
3、但因为系统的bug却导致了系统在进行二次筛选的时候忘记了数据期条件导致系统查询出错
3. 解决方案
1、如果从报表生成的sql中无法确定报表的制作是否有问题,那么可以在分析表的高级属性里面勾选禁止内存计算的功能:
勾选禁止内存计算,则所有的数据将通过sql直接去数据库中查询,所有的条件也将都在sql 中体现。
请先登录