خبرنامه

مزایای عضویت

تبلیغات

نیاز به اسپانسر تنیس|تیم تنیس روی میز تبلیغات در سایت|سایت پرشین کیا

آمار سایت


5 : تعداد افراد آنلاین
سال تاسیس : 16/12/85
آی پی شما : 54.162.165.158
تعداد بازدیدها : 2415639
آخرین به روز رسانی : 95/01/28
تعداد اخبار : ۱۸۷
عضو خبرنامه : 2998

تبلیغات در سایت

اخبار سایت


کد خبر : 106
تاريخ انتشار : ۱۳۹۰/۰۶/۰۱ - ۱۳:۵۹:۱۳  
تعداد بازديد : ۱۸۱۳  
سرویس : برنامه نویسی  
مشاهده نسخه چاپی این مطلب  
ارسال به دوستان  

  • مزایای استفاده از Stored Procedure در MySql

  • بسیاری از برنامه نویسان ترجیح می دهند به روش های قدیمی برنامه های خود را توسعه دهند و تمایلی به استفاده از متدهای جدید، پیاده سازی اصول مهندسی نرم افزار، برنامه نویسی شی گرا و ... ندارند و به همین دلیل در توسعه نرم افزار در آینده به مشکلات زیادی برخورد می کنند. یکی از متدهای برنامه نویسی چند لایه جدا کردن لایه دیتا (DataLayer) از کدهای php است و لازمه پیاده سازی آن استفاده از StoredProcedure است. در این مقاله برخی از مهمترین مزایای استفاده از توابع سمت دیتابیس را بررسی می کنیم

        با استفاده از SP می توانیم به میزان قابل ملاحضه ای Performance و بازدهی Query ها را بیشتر کنیم، با اولین باری که یک Stored Procedure اجرا می شود، MySql یک Execution Plan (نقشه ی اجرایی) برای آن ایجاد می کند و در اجراهای بعدی با استفاده از همان EP اقدام به اجرای SP می نماید و در نتیجه بازدهی و سرعت Query بالاتر می رود.
        استفاده از SP علاوه بر اینکه در نگهداری و ارائه ی داده های دیتابیس به ما کمک می کند، لازمه برنامه نویسی چند لایه (Multi-Tier Programming) نیز محسوب می شود. Stored Procuder های دیتابیس لایه دیتا (Data Layer) در برنامه نویسی سه لایه (three-tier programming) می باشد.
        درصد امنیت داده ها در کار با دیتابیس بیشتر می شود، زیرا MySql این امکان را دارد تا برای هر SP تنظمیات امنیتی (Security Setting) جداگانه در نظر بگیریم.
        کوئری های نوشته شده در php از نظر امنیتی ضعیف بوده و سایت را در برابر حملات موسوم به SQL Injection Attack آسیب پذیر می کنند.
        استفاده از SP و جدا کردن SQL Logic از کد php باعث می شود تا مدیریت کدها راحت تر باشد، قطعا فراخوانی یک StoredProcedure بسیار راحتر و منطقی تر از ایجاد کوئری با چسباندن چندین String بهم می باشد.