0

こんにちはこのステートメントはストアドプロシージャで実行されます。パラメータを渡しており、複数の更新と挿入を行っています。-パフォーマンスを改善し、実行時間を短縮し、コード構造を改善するためのいくつかの提案に感謝します。Table_01、Table_02、Table_03の3つの異なるテーブルがあります。

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
4

1 に答える 1

1

正直に言うと、それほど調整する必要はありません。単純なコードであり、派手なものは何もありません。

トランザクションを追加して、すべての書き込みが成功するか、すべての書き込みが失敗するようにすることができます。

コードが遅い場合は、TestIDのインデックスを調べて、トリガーがありますか

于 2011-01-21T19:33:31.280 に答える