我在本网站上发现了一些关于绩效报告的问题
然后我看到他们使用像这样的代码的答案
="SELECT col1,col2 FROM tbl1 WHERE col1 = " & Parameters!param.Value
然后当我看到这个答案时,我会尝试在我的报告中使用
我的旧数据集在报告代码中就像这样
="SELECT col1,col2 FROM tbl1 WHERE col1 = @param "
我编辑为
="SELECT col1,col2 FROM tbl1 WHERE col1 = '" & Parameters!param.Value & "' "
当我运行我的报告时......它的运行速度更快O_o?
为什么在我编辑数据集后,我的报告运行得更快?
WHERE col1 = @param
与WHERE col1 = '" & Parameters!param.Value & "' "
谢谢。
答案 0 :(得分:0)
两者都相同,但如果您使用@param而不是参数!param.Value将为您提供更大的灵活性。如果您正在使用@param,则需要在数据集的“参数”部分中设置参数。但如果您直接在ur查询中使用参数,那么您就不需要设置参数。
假设您正在进行大量的即席查询,该查询由大约1000行代码组成,并且说有大约15-20个参数,在这种情况下它很容易处理。例如,如果您需要引用另一个参数而不是某个参数。在这种情况下,您需要显式更改即席查询,但如果您已声明@param,则需要引用该其他参数。
另一种情况是,如果您已将ur参数从单值更改为多值,那么它很容易处理。另一种情况是,如果您使用存储过程,则可以轻松映射参数。