[英]Insert statement takes too long on SSIS package
我是新来的。 我有以下代码,其中的内容和SSID包执行所需的时间过长。
该声明旨在寻找最佳律师(考虑了一些生产力和能力因素)并将其ID写到临时表中……但过长。
有什么建议么??? 我什至尝试过...禁用Trigers
ALTER TABLE TB_TEMPLawyer DISABLE TRIGGER ALL
ALTER TABLE TB_LAWYERS DISABLE TRIGGER ALL
ALTER TABLE TB_PCRelation DISABLE TRIGGER ALL
ALTER TABLE TB_CASES DISABLE TRIGGER ALL
ALTER TABLE TB_TEMPaccount DISABLE TRIGGER ALL
INSERT INTO TB_TEMPLawyer
(LawyerAutoIDTEMP)
SELECT TOP (1) TB_LAWYERS.LawyerAutoID
FROM TB_PCRelation INNER JOIN
TB_CASES ON TB_PCRelation.PostalCode = TB_CASES.CustomerPostalCode INNER JOIN
TB_LAWYERS ON TB_PCRelation.PCLawyerID = TB_LAWYERS.LawyerID INNER JOIN
TB_TEMPaccount ON TB_CASES.Account = TB_TEMPaccount.TempAccount
WHERE (TB_CASES.LASYstatus = '2') AND (TB_CASES.LawyerID = 'NONE') AND (TB_LAWYERS.Activity = 'ACTIVE') AND
(TB_LAWYERS.Relation_Type = 'EXTERNAL') AND (TB_CASES.TotalMLUSBBexposure BETWEEN TB_LAWYERS.MINAmount AND
TB_LAWYERS.MAXamount) AND (TB_LAWYERS.CaseLimitMONTHLY >= TB_LAWYERS.CaseLimitMONTHLYactual) AND
(TB_LAWYERS.CaseLimitDAILY >= TB_LAWYERS.CaseLimitDAILYactual) AND (TB_LAWYERS.Productivity <> '0')
ORDER BY TB_LAWYERS.Productivity DESC
ALTER TABLE TB_TEMPLawyer ENABLE TRIGGER ALL
ALTER TABLE TB_LAWYERS ENABLE TRIGGER ALL
ALTER TABLE TB_PCRelation ENABLE TRIGGER ALL
ALTER TABLE TB_CASES ENABLE TRIGGER ALL
ALTER TABLE TB_TEMPaccount ENABLE TRIGGER ALL
首先,触发器与性能无关。 您只插入一行。
在这种插入中可能会遇到两个问题:
在SSMS中运行查询。
从命名约定来看,我会对这种连接表示怀疑:
FROM TB_PCRelation INNER JOIN
TB_CASES
ON TB_PCRelation.PostalCode = TB_CASES.CustomerPostalCode
对案件没有明显的限制。 您很可能在一个邮政编码中就有很多律师和很多案件。
但是,这仅仅是猜测。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.