我们根据SQL Server创建了几个水晶报告 - 通常是2005年或2008年。大致有2种报告
a)表格报告 - 显示表格中的一些数据(例如,发票清单) b)文档布局 - 以特定格式显示数据 - 通常来自一个或两个主表 - 以及几个辅助表(例如,发票)
我们有时直接在水晶中使用表格。或者在SQL中创建一个过程,然后使用该过程。一张发票通常可以指10-12个表。其中大多数使用左外连接链接到主发票表。
什么选项更好 - 使用水晶表格(让水晶创建并运行sql查询) - 或创建查询 - 而不是在水晶中使用该查询。哪一个会带来更好的表现?
答案 0 :(得分:1)
“数据库专家”生成的查询与添加到命令的同一SQL之间的性能没有差异。需要注意的一点是:确保可以解析记录选择公式并将其发送到数据库(应用的过滤器WhileReadingRecords
肯定不如纯SQL的效率高。)
更喜欢'数据库专家'的原因:
更喜欢命令的理由:
就个人而言,我尽量避免使用存储过程,因为它们提供的性能优势很小,但需要在开发和维护方面进行更多的意义投资。
最终,性能无可替代。尝试两种方式查询并测量结果。
答案 1 :(得分:0)
自己编码几乎总是运行得更快 - 毕竟,你知道你的数据是什么样的,而Crystal则不然。此外,您可以在手动查询(例如,窗口函数)中执行一些Crystal无法做到的事情。
答案 2 :(得分:0)
Crystal倾向于在幕后做一些疯狂的事情。您可以在“数据库”菜单选项下查看“显示SQL查询”以查看其创建的内容。如果发现在SQL中编写查询更容易,因为我可以更容易地自己优化它。我也更喜欢在SQL中执行任何计算/公式字段,只使用Crystal作为显示界面。如果你把逻辑放在水晶中,请记住它正在为每个返回的记录运行该逻辑...所以如果有条件从公式中排除记录,那么首先要限制计算所用的时间。