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

نام تاپیک: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

  1. #1

    insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    سلام
    خسته نباشید
    برای پروژه ای ما نیاز به اینزرت کردن سریع اطلاعات به دیتابیس داریم.
    جهت اینکه مقیاس بیاد دستتون سرعت مورد نیاز یه چیزی در حدود 20 هزار رکورد در ثانیه است.
    در این مرحله جدا از پیشنهادات بهبودهای سخت افزاری و یا کلاسترینگ و ... دبنال سریعترین شیوه ی اینزرت کردن هستم.

    به دلیل سرعت بالا، استفاده از انتیتی رو کلهم بیخیال شدم به دلیل سرباری که داره
    خواستم ببینم برای کار با ado.net و اگزکیوت کردن کوئری راه حلی هست که بشه سرعتش رو افزایش داد؟
    کلا بهترین و سریعترین روش اینزرت کردن چیه؟

    ممنون

  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    سلام
    فکر کنم stored procedure یا همون SP کارت رو راه بندازه
    CREATE PROCEDURE [dbo].[InsertTable_1]
    @Name nvarchar(50),
    @Price int,
    @dt int
    AS
    BEGIN
    SET NOCOUNT ON;
    Insert Into Table_1
    ([Name],[Price],[dt])
    Values
    (@Name,@Price,@dt)
    END
    GO


  3. #3

    نقل قول: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    البته اینجا بیشتر منظورم سرعت پایین از سمت سی شارپ به سمت سرور اسکیوئل بود.

  4. #4
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    سلام

    پر سرعت ترین راهی که میشناسم در حال حاظر با استفاده از SP هست

    نقل قول نوشته شده توسط pirmard مشاهده تاپیک
    البته اینجا بیشتر منظورم سرعت پایین از سمت سی شارپ به سمت سرور اسکیوئل بود.
    خب اگر مشکلتون C#‎ هست پس چرا اینجا مطرح کردید؟

  5. #5

    نقل قول: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    سلام

    پر سرعت ترین راهی که میشناسم در حال حاظر با استفاده از SP هست
    شما یه sp رو تو خود management studio به تعداد 10000 بار ران کنین و با اون اینزرت رو انجام بدین
    زمان تقریبیش رو ببینین. مثلا میشه 10 ثانیه
    حالا همون sp رو از طریق سی شارپ 10000 بار اگزکیوت کنین و زمان تقریبیشو مقایسه کنین.
    این زمانها خیلی با هم تفاوت دارن. سوالم در واقع اینه که در سمت سی شارپ چه متدی کمترین سربار رو دارن ؟

  6. #6

    نقل قول: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    اگه از BULK INSERT که راهی بسیار سریع هست نمی تونید استفاده کنید باید همه دستورات Insert تون داخل بلاک BEGIN TRANS و COMMIT باشه تا به ازای 20000 رکورد یک بار Log انجام شه نه 20 هزار بار.

  7. #7

    نقل قول: insert کردن سریع داده ها در دیتابیس از طریق سی شارپ

    امکان استفاده از بالک اینزرت مقدور نبود چون سرعت چندان مناسبی هم نداره.
    راهکار انتخابی استفاده از اینزرت بالک بود که تست شد و خوشبختانه مشکل حل شد. با سرعتی دست کم 10000 برابر حالت معمولی

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

  1. طریقه Insert کردن UTF8 و ANSI در دیتابیس
    نوشته شده توسط phpdriver در بخش PHP
    پاسخ: 5
    آخرین پست: یک شنبه 05 آذر 1391, 13:42 عصر
  2. حرفه ای: چک کردن سریع داده های یک فایل txt با یک وب سایت
    نوشته شده توسط mehdin69 در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: یک شنبه 16 بهمن 1390, 20:48 عصر
  3. حرفه ای: چک کردن سریع داده ها
    نوشته شده توسط mehdin69 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 15 بهمن 1390, 12:52 عصر
  4. کم کردن زمان Connect شدن به دیتابیس از طریق EF برای اولین بار
    نوشته شده توسط PetekDincos در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: یک شنبه 15 آبان 1390, 19:05 عصر
  5. سوال: استفاده از Backgroundworker برای Insert کردن همزمان داده ها در Sql
    نوشته شده توسط behiunforgiven در بخش C#‎‎
    پاسخ: 5
    آخرین پست: شنبه 31 اردیبهشت 1390, 10:56 صبح

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

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