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

نام تاپیک: کدام دستور صحیح تر و کدام سریعتر است

  1. #1
پاسخ با نقل قول پاسخ با نقل قول

  • #2
    دوست عزیز
    بهترین حالت اینه که از StoredProcedure استفاده بکنی

  • #3
    چیزی که به نظر می رسه از لحاظ سرعت اجرا تفاوت چندانی ندارند (شاید چند نانوثانیه!)
    چون کاری که انجام می دند اصولا یکیه.در واقع تا اونجا که من می دونم دستور کد 1 که تبدیل به چند خط کد در دومی شده فقط برای راحتی برنامه نویسه و عملا هنطام اجرا همان چند خط دومی اجرا می شه.
    store procedure هم برای افزایش قابلیت خواندن برنامه است و از لحاظ سرعت فرقی نداره. البته تا اونجا که من می دونم!
    از لحاظ صول برنامه نویسی هم بهترین کار stored procedure است.
    آخرین ویرایش به وسیله HAIdle : دوشنبه 07 خرداد 1386 در 13:30 عصر دلیل: ناقص بید!

  • #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    اهر دو روش روشهایه اشتباهی هستند.
    مشکل اصلی چه است؟ اگر واقعاً میخواهید ۱ میلیون رکورد را نمایش بدید از داتا ریدر استفاده کنید.

  • #5
    کاربر دائمی آواتار essa_61
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    شیراز
    پست
    164
    هیچ چیز خاصی نیست فقط می خوام بدونم باید از کدوم استفاده کنم
    دیگه نظری نیست پس بجز store proc مورد 1 و 2 با هم فرقی ندارن ؟؟؟؟

  • #6
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط essa_61 مشاهده تاپیک
    هیچ چیز خاصی نیست فقط می خوام بدونم باید از کدوم استفاده کنم
    دیگه نظری نیست پس بجز store proc مورد 1 و 2 با هم فرقی ندارن ؟؟؟؟
    هیچ کدام روش درست نیست، استورد پروسیجر برایه اینکار نیست.
    از ویو استفاده کنید با داتا ردیدر.

  • #7
    کاربر دائمی آواتار essa_61
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    شیراز
    پست
    164
    عزیزم من میخام اطلاعات رو بریزم توی دیتا ست میشه بگید با ریدر چطور این کارو بکنم ؟؟؟؟؟؟؟

  • #8
    کاربر دائمی آواتار essa_61
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    شیراز
    پست
    164
    عزیزم من میخوام اطلاعات رو بریزم توی دیتا ست میشه بهم بگید چطور با ریدر این کارو بکنم ؟؟؟؟

    خب من توی هر 3 تا نوشتم دیتا ست رو پر کردم

  • #9
    از لحاظ سرعت هیچ فرقی نداره. استفاده از datareader هم از لحاظ سرعت تفاوت آنچنانی با استفاده از dataadapter و dataset نداره(من روی 5 میلیون رکورد و اوراکل تست کردم).

    استفاده از store procedure هم توی این حالت اصلا کارایی نداره و در حالت ذخیره سازی اطلاعات و بروز آوری یا حذف استفاده داره.

    استفاده از view هم فقط برای یک جدول (بدون در نظر گرفتن سورت و فیلتر) تاثیری در سرعت نداره.

    در ضمن استفاده از store procedure برای برنامه های client/server به نظر من فقط load سرور رو زیاد می کنه. من شخصا همه عملیات رو روی client انجام میدم.

  • #10
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    اول اینکه بایستی شما در جدولت، index ایجاد کنی (ایندکس برای دسترسی سریع بع اطلاعات ساخته شده)، بعد با توجه به اینکه شما میخواهید تغییراتی در جدول اعمال کنید، بهتره از sp استفاده کنید.(تا میتونید از sp استفاده کنید)

  • #11
    کاربر دائمی آواتار essa_61
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    شیراز
    پست
    164
    چرا store proc بهتر از بقیه است خب اونم کل بانک رو میاره توی حافظه ؟؟؟ یا اینکه خود sql server با stroe proc بهتر کار میکنه ؟
    کسی میدونه دقیقا مکانیزم کار این دستورات چطوری است ؟

  • #12
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    کسی میدونه دقیقا مکانیزم کار این دستورات چطوری است ؟
    تا این اندازه میدونم که بهتره دستورات SQL ائی که مکررا بکار گرفته میشوند را بصورت stored procedure ذخیره کنیم، چون پروسیجرهای ذخیره شده، کدهای خود را با سرعت بیشتری اجرا میکنند به نسبت زمانی که دستورات از خارج دریافت شده باشه. فکر نمیکنم برای یک خط دستور مثل SELECT که فقط بخواهیم یکی دوبار آنرا اجرا کنیم، احتیاجی به stored procedure باشه!!..!

  • #13
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط essa_61 مشاهده تاپیک
    چرا store proc بهتر از بقیه است خب اونم کل بانک رو میاره توی حافظه ؟؟؟ یا اینکه خود sql server با stroe proc بهتر کار میکنه ؟
    کسی میدونه دقیقا مکانیزم کار این دستورات چطوری است ؟
    منظور از اینکه که استورد پروسیجر کل بانک را میاره در حافظه چیه؟ دلیل اینکه کل بانک میاد در حافظه این است که داتاست را پر میکنید، ۵ میلیون رکورد را ریختن در داتاست تا جایی که من میدونم کاره درستی نیست.
    در پست اول از سلکت استفاده میکنید، اگر برایه گرفتن رپورت اینکار را میکنید از ویو و داتا ریدر استفاده کنید.
    استفاده از استورد پروسیجر معمولاْ کار درستی است ولی در این مسعله به کار نمیاد.
    البته که استفاده از داتاست برایه ۵ میلیون رکورد به حافظه فشار میاره.

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

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