更新
我注意到,当我从这个表中做一个简单的视图时,结果会很快恢复,但是一旦我做出WHERE
子句限制,它就会慢下来。
我正在运行一个运行良好的查询,大约1.5分钟。然而,当我从链接的Oracle数据库中包含一个列时,查询需要19分钟。性能会像这样正常退化吗?
我也不熟悉应该从哪里开始解决此类问题,并且是新的链接服务器。
谢谢,
更新
以下是创建Oracle链接服务器数据库视图的代码
SELECT Patient
,Account
,MR#
,Diagnosis
,ICD9
,TransferEMTALAFormsCmpltd
,Disposition
,AdmittingDxTranscribed
,AxisIPrimaryDx
,AgeDOB
,sex
,age
,EDRecordSentToEDM
,TimeRNSignature
,timemdsignature
,RNSgntr
,TriageByNameEntered as 'Triage_End'
,TriageStartTime as 'Triage_Start'
,AddedToAdmissionsTrack
,StatusAdmitConfirmed
,SUBSTRING(statusadmitconfirmed,1,4)+'-'+SUBSTRING(statusadmitconfirmed,7,2)+'-'+SUBSTRING(statusadmitconfirmed,1,4)+' '+SUBSTRING(statusadmitconfirmed,9,2)+':'+SUBSTRING(statusadmitconfirmed,11,2)+':00.000' as 'Admit_Cnrfm_String'
,AdmittingMD
,AreaOfCare
,EDMD
,EDMDID
,Specialty
,AccessProceduresED
,MDSgntr
,Arrival
,ArrivalED
,ChiefComplaint
,TransferringFacility
,ReferMD
,PrivateName
FROM [BMH-EDIS-CL]..[WELLUSER].[Patient_Chart] a
LEFT OUTER JOIN [BMH-EDIS-CL]..[WELLUSER].[Patient_Diagnoses] b
ON a.Master_Rec_Id=b.Master_Rec_Id
AND a.Slave_Rec_Id=b.Slave_Rec_Id
WHERE TriageStartTime > '201299999999'
从这个视图中获取单个结果需要一些时间。当我尝试将EDMD添加到我正在处理的查询中时,这就是导致大幅减速的原因,我还没有能够查看评论中提到的物化视图。