我有一个由其他人在几个月前创建的每日调度的COGNOS报告。这个开发人员一个多月前离开了公司。据我所知,这篇报道写得不错。然后在开发者离开公司的前一周,游戏的运行时间开始变得越来越长。现在需要11-12个小时。报告中没有任何文档表明开发人员所做的任何可能的更改会导致这种情况。作为最近的新员工;到目前为止,我不知道任何可能导致问题开始的数据库更改。我希望有更有经验的人能给我指个方向。
我需要调查数据库的变化吗?这可能是缓存问题吗?可能是权限问题,或者只是创建的时间表的问题?
请告诉我还有什么有用的信息。
- 检查性能是否与特定数据项有关
从简化版本的报告开始
例如,如果您有一个有10列的报告
将报告减少到3列并比较性能。
然后添加一个数据项/列并重新检查如果注意到与特定数据项相关的差异,请检查SQL语句中的更改。寻找可能影响性能的外部连接或复杂的函数表达式
- 查找逻辑陷阱
也许你正在目睹一个逻辑陷阱就像数据鸿沟你得到的结果是笛卡尔积因为请求是多对多关系
- 查看数据源系统
可能是该进程正在运行的时间与另一个正在优先/占用所有资源的竞争进程发生冲突为了帮助测试这一点,请尝试在非峰值时间
运行分析。- 游标隔离/锁升级检查设置,查看光标隔离级别注意,不要随意更改这个值,因为这会影响对数据源的访问。如果您有一个测试系统,请尝试未提交读(又名脏读)以避免锁定问题。如果另一个用户正在维护或更新数据/操作表,这可能会影响SQL响应时间
该报告使用了哪种类型的数据源?多维的还是关系的?使用了哪种模式——经典模式还是动态模式?这个报告是通过邮件向不同的用户发送信息吗?也许使用了爆破和主细节,这通常是性能杀手。