PDA

View Full Version : بررسی Performance این Query



حمیدرضاصادقیان
جمعه 06 اردیبهشت 1387, 09:07 صبح
سلام دوستان.من کوئری زیر رو نوشتم و plan اونو هم ضمیمه کردم .ممنون میشم در مورد Performance اون نظر بدین.
فکر کنم اگر روی فیلدkol_n ایندکس بذارم خوب میشه. در ضمن میشه کاری کرد دیگه در plan اون table scan نباشه؟ این Table scan از کجا میاد.
ممنون.


select kol_n,sum(Casewhen bd_bs=1 then price else-price end)as sumprc
From f_sanad
groupby kol_n
orderby kol_n

حمیدرضاصادقیان
سه شنبه 10 اردیبهشت 1387, 07:30 صبح
سلام دوستان کسی در این مورد نظری نداره؟

Microsoft.net
سه شنبه 10 اردیبهشت 1387, 22:07 عصر
چون از orderby kol_n استفاده كردي توي SQL planحتما يك sort خواهي داشت كه با گذاشتن يك index روي اين فيلد زمان اون رو ميتوني كم بكني

AminSobati
پنج شنبه 12 اردیبهشت 1387, 15:40 عصر
چیزی که در Plan نشون میده، تقریبا 21 رکورد به Order By میرسن که Sort کردنش زحمتی نداره (در Plan هم صفر درصد برای Order By نشون میده).
با توجه به اینکه WHERE یا شرط دیگه ای در Query ندارین، لذا Scan شدن کل جدول یا ایندکس بدیهیه.
تاثیر این ایندکس رو آزمایش کنید:


CREATE INDEX ix1 ON f_sanad (kol_n, bd_bs, Price)