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

نام تاپیک: تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

  1. #1

    تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

    سلام دوستان
    برای یک سیستم قرعه کشی نیاز به تولید دو میلیون کد دارم
    زمانی که از حلقه For استفاده میکنم و با Guid کد ها رو تولید میکنم ( البته فقط 8 رقم اولش رو میگیرم) به ازای 1000 بار چرخش حلقه تقریبا 1 دقیقه سیستم زمان نیاز داره.
    کد هارو داخل یه Hashset میریزم که اگه مقدار تکراری هم داشت داخل لیست قرار نگیره. در نهایت اون لیست رو به DbContext ، توسط متد Addrange اضافه میکنم.
    وقتی حلقه رو به جای 1000 روی 100000 ( صد هزار ) تنظیم میکنه مصرف CPU به 100% میرسه و به حالت انفجار میره

    از ترد هم که استفاده کنم بازم همین موضوع هست.
    حالا تولید حلقه یک طرف، ذخیره کردنش توی دیتایس هم یک طرف.
    اینم بگم هاست اشتراکی داریم برای این کار و فکر کنم اگر این دستورات رو روی سرور اجرا کنم کلا سرور بترکه.

    بهترین روش برای تولید این کدها چیه؟

  2. #2

    نقل قول: تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

    برای تولید 100000 تا GUID بنده به این صورت نوشتم که فقط 88 میلی ثانیه طول کشید :
    Untitled-2.png

    برای insert کردن هم میتونید از Bulk Insert استفاده کنید.

  3. #3

    نقل قول: تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

    معین جان عالی بود.
    عجب چیز غولیه این BulkInsert
    مشکلم بر طرف شد.

  4. #4
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

    نقل قول نوشته شده توسط سعید کشاورز مشاهده تاپیک
    معین جان عالی بود.
    عجب چیز غولیه این BulkInsert
    مشکلم بر طرف شد.
    سلام
    این bulk insert که ظاهرا باید خریداری بشه. شما خریدید؟

  5. #5

    نقل قول: تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

    والا من از Nuget نصب کردم بدون مشکل کار کرد

  6. #6
    کاربر دائمی آواتار rahmatipoor
    تاریخ عضویت
    شهریور 1392
    محل زندگی
    ---
    پست
    418

    نقل قول: تولید تعداد دو میلیون کد قرعه کشی منحصر به فرد

    این صفحه رو ببیند لیست قیمت توی سایتشونه

    https://entityframework-extensions.net/pricing

    البته ظاهرا نسخه های جدید که میدن تا پایان هر ماه میشه تریال استفاده کرد.

    The latest version always contains a trial that expires at the end of the month. You can extend your trial for several months by downloading the latest version at the begining of every month.

    این رو هم توی سایت ناگت گفته
    This library is NOT FREE. Trial period always stops at the end of the month.

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

  1. پاسخ: 3
    آخرین پست: پنج شنبه 18 اسفند 1390, 08:58 صبح
  2. تعریف ایونت برای کنترلهای ایجاد شده در زمان اجرا
    نوشته شده توسط میلاد قاضی پور در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 03 مهر 1389, 07:44 صبح
  3. تعداد درایوها
    نوشته شده توسط samyn_sh در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: چهارشنبه 16 شهریور 1384, 19:34 عصر

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

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