2011-01-21 49 views
0

嗨 此聲明在存儲過程中執行。我傳遞參數,它正在做多個更新和插入。 我會欣賞 的一些建議 - 提高性能, -減少執行時間 - 以及代碼結構的改進。 有三個不同的表格:Table_01,Table_02,Table_03。如何提高此DML語句中的性能?

INSERT INTO Table_01(
    TestID,  
    TestData, 
    CurrentDate, 
    UserID, 
    Status 
) VALUES (
    @testID,   
    @testData, 
    @iDateTime, 
    @userID, 
    @Status 
) 

IF (@Status = 1) 
BEGIN 

    DELETE FROM 
     Table_02 
    WHERE 
     TestID = @testID 

    UPDATE Table_03 
    SET 
     Status = 1, 
     Date = @iDateTime, 
     Work = 0 
    WHERE 
     TestID = @testID 
END 
+0

歡迎堆棧溢出。在我們建議任何事情之前,我們需要看看你的表格定義。 – 2011-01-21 19:31:26

回答

1

不是真的太多的調整,說實話:這是簡單的代碼,沒有什麼花哨

所以所有的寫操作成功,要麼全部寫入失敗,您可以添加一個事務。

如果您發現該代碼緩慢的話,我想看看在TestID索引和你有觸發器