PDA

View Full Version : سوال: سوال در بهینه سازی store procedure



Delphi Coder
دوشنبه 21 اردیبهشت 1388, 17:08 عصر
سلام
من می خوام بدونم آیا میشه یه سری متغیر به تعداد زیاد رو به یه store procedure فرستاد و در صورتی که مثلا username و password مشکلی نداشت بقیه فیلدها update بشن و در ضمن کل اطلاعات رکورد رو قبل از update رو برگردونه. منظور من این هست که جستجو برای رکورد 2 بار نشه. من الان یه select میزنم تا کل اطلاعات یه رکورد رو بگیرم بعد چک کردن username و password یه دستور update هم اجرا میکنم که باعث میشه SQL دوباره بره اون رکورد رو پیدا کنه و update کنه. به خاطر کندی بیش از حد برنامه می خوام ببینم راهی هست که SQL رو 2 بار مجبور به پیدا کردن رکورد نکنم؟ از طرفی کل اطلاعات اون record هم میخوام بگیرم. اگه راهی هست ممنون میشم راهنمایی کنید.

AminSobati
سه شنبه 22 اردیبهشت 1388, 10:22 صبح
سلام دوست عزیزم،
اگر مشکل شما رو خوب متوجه شده باشم، عبارت OUTPUT در دستور Update شاید بتونه کمک کنه. OUTPUT از نسخه 2005 به بعد وجود داره. ضمنا شاید کندی برنامه که ازش گله دارین به خاطر نبودن ایندکس مناسب باشه. برای آزمایش، یک ایندکس روی فیلدی که جستجو میکنید (در قسمت Where) بسازید

esmaeily-hosein
چهارشنبه 23 اردیبهشت 1388, 16:24 عصر
UPDATE tableName SET [colName]='value' where ID=@myNumber
OUTPUT DELETED.*