نمایش نتایج 1 تا 9 از 9

نام تاپیک: مقایسه stored procedure و query

  1. #1
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276

    مقایسه stored procedure و query

    یک سوال در زمینه مقایسه stored procedure و query . سرعت کدومشون بهتره منظورم اینه که اگر در یک جای برنامه بخوایم یک script رو اجرا کنیم که هم بشه با query اجرا کرد و هم بشه با stored procedure کدومشون بهتره از لحاظ سرعت و چیزهای دیگه

  2. #2
    سلام دوست عزیز استفاده از sp سرعت کار تو را بالا میبره البته باید توجه داشته باشی که در sql server اگر sp
    در DB همیشه وجود داشته باشه مدیریت حافظه sql server به مشکل میخوره و احتمالا کند میشه ولی اگر در موقع لزوم sp شود و سپس حذف شود بهترین بازدهی رو دارید

  3. #3
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    در موقع لزوم sp شود و سپس حذف شود بهترین بازدهی رو دارید
    یعنی هر موقع که خواستم sp رو runtime بسازم و زمانی که کارم باهاش تموم شد drop بکنمش؟

  4. #4
    stored procedure همیشه و در هر شرایطی (99.9%) نسبت به ساختن query برتری داره و البته علت اون هم precompile بودن execution-plan اون هست.
    برای اطلاعات بیشتر به :
    BOL > SQL Server Achitecture > database architecture > logical database component > stored procedure
    مراجعه فرمائید.
    فکر کنم جناب ثباتی مطالب ارزنده تری بیان کنند.
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  5. #5
    زمانی که یک Query در SP قرار میگیره، برای بار اول اجرا شاید کمی کندتر باشه و دلیلش اینه که باید Compile بشه و براش Exec Plan بدست بیاد. ولی در دفعات بعدی اجرا، Exec Plan بدون درنگ مورد استفاده قرار میگیره.
    Compile شدن برای ad-hoc Query یا همون Queryهای خارج از SP هم رخ میده ولی اگر Cache مورد نیاز باشه، Plan پاک میشه و جای خودش رو به سایر اطلاعات میده. لذا در دفعه بعدی اجرا باید دوباره Plan براش بدست بیاد. اما در مورد SP، این Plan روی دیسک ذخیره شده و هر وقت مورد نیاز باشه سریع بازیابی میشه.
    فقط به یاد داشته باشید اگر اطلاعات زیاد ویرایش میشن و حجم اطلاعات شما رو به افزایش هست، تقریبا هفته ای یکبار از sp_recompile استفاده کنیم. چون Planهای ثبت شده برای SP ممکنه نابهینه بشن(در مقابل تغییر حجم اطلاعات). sp_recompile باعث میشه اولین بار بعد از صدور این دستور، SP مجددا Recompile بشه و بهینه ترین Plan بدست بیاد.

  6. #6
    بله کامیار جان

    من به تجربه این رو فهمیدم که اگر sp ها حذف شوند و دوباره ایجاد شوند خیلی کاراتر میشوند البته همان جور که آقای ثباتی فرمودند در صورتی که db,و حجم کار با اون خیلی زیاد باشه

  7. #7
    دوست عزیزم
    حذف SP و ساختن اون باعث افزایش سرعت نمیشه. تنها توجیهی که میشه کرد این هست که Planهای شما قدیمی شده باشند و با ساخت مجدد SPها باعث بشین Recompile صورت بگیره تا بهینه ترین Plan بدست بیاد. این کار توسط SP_Recompile هم قابل انجامه و منطقی نیست که شما هر چند وقت یکبار SPها رو از اول بسازین. فرض کنین یک بانک داره به طور 24 ساعته از طریق SQL Server به کاربرها سرویس میده. در این حالت عدم وجود حتی یک SP برای 1 ثانیه هم معضل خواهد بود. پس همیشه از SP_Recompile استفاده کنین.
    آخرین ویرایش به وسیله AminSobati : دوشنبه 03 مرداد 1384 در 20:59 عصر

  8. #8
    آقای ثباتی عزیز در مورد Ad-hoc Query صحبت کردین، امکان داره در مورد Ad-hoc یه مقدار بیشتر توضیح
    بدین؟
    (با عرض معذرت شاید خیلی به این موضوع ربطی نداشته باشه)

  9. #9
    Ad-hoc Query یعنی Queryهایی که خارج از SP قرار دارن و به طور مستقیم به SQL Server ارسال میشن.

تاپیک های مشابه

  1. While AND Stored Procedure
    نوشته شده توسط mehdi58 در بخش SQL Server
    پاسخ: 12
    آخرین پست: سه شنبه 31 شهریور 1388, 21:30 عصر
  2. نحوه بکار بردن Stored Procedure
    نوشته شده توسط mojtaba_z در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: چهارشنبه 09 آبان 1386, 14:16 عصر
  3. نحوه بکار بردن Stored Procedure و در جداول ؟
    نوشته شده توسط mojtaba_z در بخش SQL Server
    پاسخ: 4
    آخرین پست: چهارشنبه 04 مهر 1386, 12:57 عصر
  4. یه سوال در مورد وارد کردن اطلاعات فارسی و stored procedure
    نوشته شده توسط white fox در بخش SQL Server
    پاسخ: 6
    آخرین پست: شنبه 30 اردیبهشت 1385, 01:01 صبح
  5. استفاده از stored procedure ها در داخل شرط query
    نوشته شده توسط turk_programmer در بخش SQL Server
    پاسخ: 1
    آخرین پست: جمعه 15 آبان 1383, 19:28 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •