Forum
Merhaba, 8-9 IF koşullu bir prosedürüm var. Ancak aktif ettiğim zaman çok aşırı derecede CPU kullanımı oluyor ve haliylen sistem yavaşlıyor.
Prosedürüm şu şekilde;
DECLARE @ID int = (SELECT ID FROM ItemList WHERE Serial = @Serial)
IF(@ReferenceID = 24679 OR @ReferenceID = 24683 OR @ReferenceID = 24687 OR @ReferenceID = 24691)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56000 , 1 , 0 , 56000 , 0),
(@ID , 1 , 1 , 56003 , 1 , 0 , 56003 , 0)
END
ELSE IF(@ReferenceID = 24680 OR @ReferenceID = 24684 OR @ReferenceID = 24692 OR @ReferenceID = 24688)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56001 , 1 , 0 , 56001 , 0),
(@ID , 1 , 1 , 56004 , 1 , 0 , 56004 , 0),
(@ID , 1 , 2 , 56005 , 1 , 0 , 56005 , 0)
END
ELSE IF(@ReferenceID = 38849 OR @ReferenceID = 38852 OR @ReferenceID = 38861 OR @ReferenceID = 38864)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56006 , 1 , 0 , 56006 , 0),
(@ID , 1 , 1 , 56009 , 1 , 0 , 56019 , 0)
END
ELSE IF(@ReferenceID = 38850 OR @ReferenceID = 38853 OR @ReferenceID = 38862 OR @ReferenceID = 38865)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56007 , 1 , 0 , 56007 , 0),
(@ID , 1 , 1 , 56010 , 1 , 0 , 56010 , 0)
END
ELSE IF(@ReferenceID = 38851 OR @ReferenceID = 38854 OR @ReferenceID = 38863 OR @ReferenceID = 38866)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56008 , 1 , 0 , 56008 , 0),
(@ID , 1 , 1 , 56010 , 1 , 0 , 56010 , 0),
(@ID , 1 , 2 , 56011 , 1 , 0 , 56011 , 0)
END
ELSE IF(@ReferenceID = 38843 OR @ReferenceID = 38846 OR @ReferenceID = 38855 OR @ReferenceID = 38858)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56012 , 1 , 0 , 56012 , 0),
(@ID , 1 , 1 , 56015 , 1 , 0 , 56015 , 0)
END
ELSE IF(@ReferenceID = 38844 OR @ReferenceID = 38847 OR @ReferenceID = 38856 OR @ReferenceID = 38859)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56013 , 1 , 0 , 56013 , 0),
(@ID , 1 , 1 , 56016 , 1 , 0 , 56016 , 0)
END
ELSE IF(@ReferenceID = 38845 OR @ReferenceID = 38848 OR @ReferenceID = 38857 OR @ReferenceID = 38860)
BEGIN
INSERT INTO OptionList VALUES
(@ID , 1 , 0 , 56014 , 1 , 0 , 56014 , 0),
(@ID , 1 , 1 , 56016 , 1 , 0 , 56016 , 0),
(@ID , 1 , 2 , 56017 , 1 , 0 , 56017 , 0)
END
Daha optimize bir halde ve CPU'yu kasmayacak şekilde nasıl kullanabilirim ?
Merhaba. Öncelikle cevabınız için çok teşekkür ederim. OptionList tablosunun yapısı şu şekildedir;
Design: http://prntscr.com/5gy0cu
Index: http://prntscr.com/5gy0m0