در این پست، اولین تکنیک از سری آموزش ده تکنیک افزایش سرعت برنامه های تحت وب را در سایت پرووید قرار داده ایم. تکنیک اول مربوط به برگرداندن نتایج چندگانه (Multiple Resultsets) از دیتابیس می شود.

یکی از تکینک های افزایش کارایی در برنامه های تحت وب مرور کردن Data Access Layer برنامه است. به عبارت دیگر، بررسی کردن اینکه برنامه درخواست های خود را به چه صورت برای بانک اطلاعاتی ارسال می کند و نتایج را دریافت می کند. کار کردن با بانک اطلاعاتی و ارسال و دریافت پیام ها بیان برنامه ی تحت وب و بانک اطلاعاتی وقت زیادی از برنامه ی شما می گیرد. یکی از بهترین کارها برای افزایش کارایی در کار کردن با بانک اطلاعاتی، کم کردن تعداد درخواست های ارسالی به سمت بانک است. بنابراین، شما می توانید به جای ارسال دو درخواست و دریافت دو نتیجه، یک درخواست ارسال کنید و یک نتیجه دریافت می کند. این موضوع round trip time (مدت زمان بین شروع ارسال درخواست و اتمام دریافت پیام از بانک) را کم می کند. برای این منظور، شما می بایست درخواست های متعدد خود را در یک درخواست گنجانده و به جای دریافت چندین پاسخ، یک پاسخ که حاوی چند نتیجه است را دریافت کنید.

برا این کار شما هم می توانید stored procedure هایی بنویسید که چندین نتیجه را بر می گردانند و یا اینکه این کار را با استفاده از LINQ انجام دهید. به طور کلی، توصیه می شود که در بانک اطلاعاتی، stored procedure هایی تعریف کنید که نتایج چندگانه (Multiple Result) بر گردانند. با استفاده از این کار، لایه Logical Layer برنامه نیز پاک می ماند.

در مثال زیر، کدی را مشاهده می کنید که با استفاده از یک شی SqlCommand و متد ExecuteReader آن پاسخی را از بانک اطلاعاتی دریافت کردیم که حاوی چندین نتیجه است. برای رفتن به نتیجه ی بعدی از NextResult استفاده می کنیم. به علاوه ی مباحث مطرح شده، انجام Filtering و درخواست کردن تنها اطلاعاتی که به آنها نیاز دارید می تواند سرعت برنامه ی تحت وب شما را به مراتب افزایش دهد.

بنابراین، به عنوان اولین تکنیک افزایش سرعت برنامه های تحت وب، سعی کنید نگاهی دوباره به Data Access Layer برنامه انداخته و عملیات کار با بانک اطلاعاتی را مرور کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *