• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مزایای stored procedures
#1
ظاهرا هنوز خیلی از ما از stored program در mysql استفاده نمی کنیم و فکر کنم به علت ناشناخته بودن آن باشد و خیلی از مزایای آن خبر نداریم
اگر موافقید در اینجا به کمک هم کمی بیشتر sp ها را بشناسیم
مزایای sp که در کتابها پیدا کردم این ها است:
1- استفاده از sp می تواند پایگاه داده را ایمن تر کند
2-sp یک مکانیزم برای روتینهای دسترسی به داده ها را ارائه می کند که می تواند قابلیت نگهداری پذیری کدهای شما را در واکشی داده ها بهبود ببخشد.
3-sp می تواند ترافیک شبکه را کاهش دهد،چرا که برنامه می تواند بر روی داده ها را از داخل سرور به کار کند و انتقال داده ها سریعتر خواهد بود
4-در منطق Database-centric می توان sp را بوسیله متخصص برنامه نویس db از دیگر بخشهای نرم افزار جدا کرد

در واقع می توان بخشهای مربوط به db را از دیگر بخشها برای اشکالزدایی و توسعه بهتر و البته امنیت و سرعت بیشترجدا نمود
در ضمن stored program شامل Stored Procedures, Functions, and Triggers می باشد که در آینده هر یک را بطور مختصر شرح می دهم
  پاسخ
تشکر شده توسط : php webdeveloper
#2
stored procedures: رایج ترین نوع sp ها هستند و بنا به درخواست می تواند چند ورودی و یا خروجی داشته باشد
stored functions: شبیه stored procedures هستند با این تفاوت که نتیجه یک مقدار واحد خواهد بود و مهمتر اینکه می توان در دستورات sql استاندارد از آن استفاده کرد و به برنامه نویس اجازه می دهد به طور موثر قابلیتهای زبان sql را گسترش دهد
Triggers : تریگرها می توانند با هر عملی که بر روی جداول ما انجام می شود فراخوانی شوند عملیاتی مانند delete , insert , update . بدین معنی که بعد از هر insert فلان عمل انجام شود
  پاسخ
تشکر شده توسط : hosseintdk775 Bojbaj
#3
هو،
سلام علیکم،

رضا جان اول بگو stored programs چیه ما هم بلد شیم! Angel
یا حق ج

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#4
بابا ابول پس اون وقت تاحالا داشتم گل لگد می کردم؟!!
تیکه کدهایی است که به صورت تابع در mysql نوشته می شود برای کار بهتر با db
  پاسخ
تشکر شده توسط : Goback
#5
(۱۳۹۰ تير ۱۳, ۰۸:۴۹ ق.ظ)rezaweb نوشته: بابا ابول پس اون وقت تاحالا داشتم گل لگد می کردم؟!!
تیکه کدهایی است که به صورت تابع در mysql نوشته می شود برای کار بهتر با db
حالا شد!
بفرمایید ادامه بدید ما در خدمتیم Big Grin .

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :
#6
خب حالا سوال اینه که کجا این دستورات نوشته شود؟
داخل phpmyadmin که جایی برای این کار ندارد
شما باید یک نرم افزار دسکتاپ برای کار با mysql داشته باشید که من database workbench را ترجیح می دهم که داخل آن برای هر db می توان sp نوشت و تست کرد و اشکالزدایی نمود
در php هم با دستور call می توان نام آن sp را صدا بزنید و استفاده نمایید
در آینده بعضی از دستورات sp را هم معرفی می کنم
  پاسخ
تشکر شده توسط : Goback
#7
باید که نه
میشه عادی تولید کرد و به صورت یه query داخل هر چیزی مثل phpmyadmin ارسال کرد
  پاسخ
تشکر شده توسط : Goback webdeveloper
#8
اینو نمی دانستم
ولی ظاهرا فقط می شود مشاهده کرد و نمی توان ساخت یا اجرا کرد
بگذریم...
گفتم برای اجرا در php از دستور call باید استفاده کرد اما کجا و چطوری؟
این طوری:
کد پی‌اچ‌پی:
$result mysqli_query($dblink,"CALL procedure_name();"

فقط نمی دانم چرا با دستور mysql_query خطا می دهد برای همین مجبور شدم همه دستورات mysql را به mysqli تغيير دهم
اگر اساتید می دانند ما را راهنمایی کنند که کلا ایندو چه فرقی با هم دارند؟
  پاسخ
تشکر شده توسط : webdeveloper
#9
شما هم می تونی ببینی و هم می تونی ایجاد کنی. فقط باید دستورش رو بزنی
توی phpmyadmin یا ره سرویس دیگه هم می تونی یه استور پروسیجر رو ایجاد ویرایش حذف و صدا بزنی
من هم روی mysql کار نکردم. البته بهتره کلا استفاده از mysql متوقف بشه و به جاش از mysqli یا pdo استفاده بشه
  پاسخ
تشکر شده توسط :
#10
ممنون از شما
فرق mysql و mysqli چیه و دومی چه مزیتی دارد؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان