【发布时间】:2013-07-31 22:45:14
【问题描述】:
这是我的存储过程,即使使用本地数据库运行也需要一些时间。
请提出更改建议以提高性能
BEGIN TRY
DECLARE @COUNTRY_CD INT
SET @COUNTRY_CD =(SELECT COUNTRY_CD FROM COUNTRY WHERE COUNTRY_DESC = LTRIM(RTRIM(@COUNTRY_DESC)))
DECLARE @COMPANNY_CD INT
SET @COMPANNY_CD =(SELECT COMPANY_CD FROM COMPANY WHERE COMPANY_DESC = LTRIM(RTRIM(@COMPANY_DESC)))
BEGIN TRANSACTION
DELETE FROM PACK
WHERE COUNTRY_CD = @COUNTRY_CD
AND COMPANY_CD = @COMPANNY_CD
AND PACK_DESC = LTRIM(RTRIM(@PACK_DESC))
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF(@@TRANCOUNT > 0)
ROLLBACK TRANSACTION
DECLARE @ErrMsg nvarchar(4000),
@ErrSeverity int
SELECT @ErrMsg = ERROR_MESSAGE(),@ErrSeverity = ERROR_SEVERITY()
RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH
【问题讨论】:
-
你是什么表结构(列、数据类型)?你在这些表上有哪些索引?这些表中有多少行数据?