我们在 SQL Server 中设置了一个链接服务器到一个 oracle 服务器。
我需要用一些数据填充网格视图。但是我发现当我对数据源使用参数时,查询非常慢。但是,如果我硬编码值来代替参数,则查询会快得多。
该参数是从具有自动回发功能的文本框控件设置的。
我是这样编码的...
<asp:SqlDataSource ID="dsRepairs" runat="server"
SelectCommand="SELECT REPAIR_NO + '-' + LINE_NO AS SELECT_OPTION, CUSTOMER_NO, DATE_ADDED, YOUR_REFERENCE, PART_NO, DESCRIPTION, SERIAL_NO, REPAIR_STATUS
FROM TEST..INFOVIEW.CRO_LINES
WHERE CUSTOMER_NO = @CUSTOMER_NO;" ConnectionString="<%$ ConnectionStrings:ConnectionString %>">
<SelectParameters>
<asp:ControlParameter Name="CUSTOMER_NO" ControlID="txtAccountNo" PropertyName="Text" DbType="String" Direction="Input" />
</SelectParameters>
</asp:SqlDataSource>
我相信额外的时间是由于数据类型转换,但我想知道如何加快速度。使用参数方法时,我们不能接受等待 15 秒以上的页面加载数据。
我似乎只有 的选项DBType="String"
,但是 oracle 中源表上的字段类型是varchar(20)
.
有什么办法可以改善这一点吗?我无法控制数据源的设置方式。我必须通过 SQL Server 使用链接服务器,除此之外,及时返回数据是可以接受的。
如果我需要提供更多信息,请告诉我!