sql - SQL Server - 远程 Oracle 查询在日期子句上非常慢
问题描述
从 sql server 客户端查询 oracle:
select top 10 * from [192.168.18.25]..ORDER where date >= '2019/01/01'
上面的查询大约需要400 秒,而在 oracle 客户端中只需要几毫秒。
更令我惊讶的是,当替换为>=
,<=
或将日期替换2019/01/01
为小于表中最小日期的日期时,查询将再次以毫秒为单位完成。
什么可能导致>= someDate
查询中的性能不佳?
解决方案
我以某种方式尝试OPENQUERY
并解决了性能问题:
select top 10 * from openquery ( [192.168.18.25],
'select * from order where date >= ''2019-01-01'' ')