首页 > 解决方案 > 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查询中的性能不佳?

标签: sqlsql-serverdatabaseoracle

解决方案


我以某种方式尝试OPENQUERY并解决了性能问题:

select top 10 * from openquery ( [192.168.18.25], 
'select * from order where date >= ''2019-01-01'' ')

推荐阅读