Хранимая процедура, которую я создал, работает, но есть ли более эффективный способ сделать это? Чтобы быть справедливым, нет ни одного удара по производительности для любого из этого, и он не нуждается в оптимизации, но я хотел бы знать в интересах правильного ведения дел.Обновление хранимой процедуры Обновление и выбор
государства План выполнения query 1: 17%
, query 2: 67%
, query 3: 16%
DECLARE @CurrentVoucherID int;
SET @CurrentVoucherID =
(
SELECT TOP(1) IdGiftVoucherPhysicalCode
from GiftVoucherPhysicalCodes
WHERE Activated = 0 and assigned = 0 and Value = 10
ORDER BY IdGiftVoucherPhysicalCode
);
UPDATE GiftVoucherPhysicalCodes
SET Activated = 1, Activated_at = GETDATE()
WHERE IdGiftVoucherPhysicalCode = @CurrentVoucherID;
SELECT * FROM GiftVoucherPhysicalCodes
WHERE IdGiftVoucherPhysicalCode = @CurrentVoucherID;
Я не вижу ничего плохого в этом, хотел бы сделать это так же, как ... – Hatsjoem
Спасибо, мне кажется, что выбор в настоящее время запуска в два раза чтобы возвратить ту же самую запись, хотя какая-то ошибка меня. – GJKH
Но в плане выполнения не учитывается индекс, находящийся в памяти. Если IdGiftVoucherPhysicalCode индексируется, то последний, где находится тривиальный поиск индекса. – Paparazzi