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

نام تاپیک: حجم بالای اطلاعات در دیتابیس

  1. #1
    کاربر تازه وارد آواتار ghoroghchian
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یزد
    پست
    92

    حجم بالای اطلاعات در دیتابیس

    دوستان سلام

    من یه برنامه با سی شارپ نوشتم و پایگاه داده اون SQL Server Experss 2005 هست این برنامه روزانه 230000 تا رکورد توش درج میشه.وقتی اطلاعات چند ماه رو خوند حدود 8 میلیون رکورد شده بود و دیگه نتونست حتی یه دستور ساده Select رو هم احرا کنه و با پیغام خطای Time out روبرو میشم.

    چند ماه که هیچی من باید اطلاعات چند سال رو ذخیره کنم
    من باید چیکار کنم؟

  2. #2

    نقل قول: حجم بالای اطلاعات در دیتابیس

    سلام

    1- بررسی کنید که طراحیتون درست باشه
    2- جداول رو Index گذاری کنید.
    3- از فایل گروپ و پارتیشن استفاده کنید.
    4- Query هاتون رو بررسی کنید بهینه باشند.
    5- سرور رو ارتقاع بدید.

  3. #3
    کاربر تازه وارد آواتار ghoroghchian
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یزد
    پست
    92

    نقل قول: حجم بالای اطلاعات در دیتابیس

    دیتابیس من شامل یک جدول است کوری بهتر از این نمی شه سرور هم local است.

  4. #4

    نقل قول: حجم بالای اطلاعات در دیتابیس

    دستور select ساده ای که به آن اشاره کردید چند رکورد برمیگردونه ؟... مشخصات سرورتون چیه؟... دیتا بیسی هم که شامل یک رکورد بشه جای بحث داره میشه طراحی شو بذارین

  5. #5
    کاربر دائمی
    تاریخ عضویت
    دی 1382
    محل زندگی
    پشت كامپيوتر
    پست
    381

    نقل قول: حجم بالای اطلاعات در دیتابیس

    خدمت دوست عزیزم بگویم بطور کلی , بمنظور بهبود سرعت دیتابیس دو راهکار کلس وجود دارد Scale Up که بطور توسعه فیزیکی سخت افزار و ویندوز می باشد و Scale Out که همان طراحی بانک شماست. اطلاعات زیادی وجود دارد که بهتر است در طراحی بانک خود بسیار دقت کنید و بهتر است قبل از اجرا و تغییرات مطالعه دقیقتر ی داشته باشید. یک اطلاعات جامع خدمت شما در زیر آورده شده که بهتر است باز هم مطالعه بیشتری داشته باشید.
    فایل های ضمیمه فایل های ضمیمه

  6. #6
    کاربر تازه وارد آواتار ghoroghchian
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یزد
    پست
    92

    نقل قول: حجم بالای اطلاعات در دیتابیس

    سلام
    این جدولمه
    stdstd.jpg

    این هم کوری منه
    SELECT top 100 COUNT(b_num) AS [Count], datee AS [Date] FROM call WHERE (datee >= @sdate) AND (datee <= @edate) AND (b_num like +@b_num+'%' )and a_tgrp=@a_tgrp GROUP BY datee order by datee

  7. #7
    کاربر دائمی آواتار in_chand_nafar
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    www.NikAmooz.com
    پست
    466

    نقل قول: حجم بالای اطلاعات در دیتابیس

    دوست عزیز جدولتون Clustered Index داره یا خیر (در تصویری که زدید PK یوخدی ؟؟؟)
    اول از همه تکلیف کلاستر ایندکس رو مشخص کنید ظاهر جدول شما هیپ تشریف دارن

  8. #8
    کاربر تازه وارد آواتار ghoroghchian
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یزد
    پست
    92

    نقل قول: حجم بالای اطلاعات در دیتابیس

    توي اين جدول نميتونم هيچ ركوردي(تركيبي يا تكي نميتونه) كليد بشه!
    كلاستر ايندكس هم نميدونم چيه؟ميشه توضيح بدي؟

  9. #9
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    نقل قول: حجم بالای اطلاعات در دیتابیس

    حتما جدولت يك كليد داشته باشه!! اگر فيلدات unique نمي‌شوند حتما يك فيلد identitiy بايد بذاري و اونو كليد بكني! روي سرعتت خيلي اثر ميذاره(موندم كاربر زبون بستت چطور داره با سيستمت كار ميكنه!!)
    موقعي كه داري index مي‌سازي ميتوني يكي از خاصيت‌هاي آن ، cluster است. اگر يك pk (كليد اصلي) داشته باشي حتما cluster index داري! البته بايد روي فيلدهايي كه ميخواهي روي آن فيلتر كني index بذاري
    خوب آيا با بالا بردن كيفيت سخت‌افزار و البته بهينه كردن ساختار همه مشكل حل ميشه؟؟
    به نظرم خير. چون شما حجم اطلاعاتت نسبتا بالاست ، كارهايي كه دوستان گفتند را بايد انجام بدي. اما يك مشكل ديگه وجود داره. آيا كاربر شما تمام اين اطلاعات را ميخواهد ببيند؟ مطمئنا نميتونه ! (بهش بگو آدم عاقل چطوري ميخواهي چند ميليون ركورد را ببيني !! مگه با سرعت نور ميتوني بخوني)
    1- يك روش pagepage خوندن اطلاعات است كه علاوه سرعت بالا ، براي نمايش در برنامه C#‎‎ از هر كامپوننتي كه استفاده مي‌كني راحت load ميكنه. (مثل Google )
    2- استفاده از thread و پردازش موازي
    3- آيا نيازي به اطلاعات قديمي هست يا نه؟ اگر نيست ميتونيد با استفاده از table partitioning كه در sql 2008 وجود داره سرعت كارت را بالا ببري. (البته اين روش يك شمشير دو لبه است و اگر خوب اين كار رو نكني سرعتت افتضاح ميآيد پايين)

  10. #10
    کاربر دائمی آواتار sepehr.net
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران
    پست
    386

    نقل قول: حجم بالای اطلاعات در دیتابیس

    سلام
    در ادامه فرمایشات دوستان ، در مورد کش کردن اطلاعات درون C#‎ هم یه سرچی داشته باشی بد نیست

  11. #11

    نقل قول: حجم بالای اطلاعات در دیتابیس

    نقل قول نوشته شده توسط sepehr.net مشاهده تاپیک
    سلام
    در ادامه فرمایشات دوستان ، در مورد کش کردن اطلاعات درون C#‎ هم یه سرچی داشته باشی بد نیست
    سپهر جان كش براي چند ميليون ركرود جواب عكس مي ده شما بايد حتما ايندكس گذارس كني يعني همون چهار فيلدي كه در بالا در شرط استافده كردي رو دي يك ايندكس قرار بده اگر بتوني از <= و >= و يا % استفاده نكني بهتره چون اگر % رو در ابتدا يا در هر دو طرف عبارت استفاده كني اصلا از ايندكس نمي تونه براي فيلتر كردن استفاده كنه پس بهتره بعد از ايندكس گذاري كمي هم در مورد شرط ها مطالعه داشته باشي

  12. #12
    کاربر جدید
    تاریخ عضویت
    مهر 1391
    محل زندگی
    تهران
    سن
    40
    پست
    14

    نقل قول: حجم بالای اطلاعات در دیتابیس

    برادر گرامی بنظر من اول یک sql server enterpriseنصب کن بعد داخل برنامت دیتاهارو با Datareader بخون احتمال بر طرف شدن مشکلت زیاده

  13. #13

    نقل قول: حجم بالای اطلاعات در دیتابیس

    سلام،

    منم در ادامهٔ فرمایشتِ دوستان چند تا نکته‌رو بگم :

    اول اینکه بنظر منم خوب که ۱ فیلدِ Auto_Identity بعنوان کلید بگیری مثلا ID

    دوم اینکه ۱۰۰% Non-Clustered Index روی تبل بساز ( من تبلِ با ۲۰۰،۰۰۰،۰۰۰ rows دارم ولی‌ خیلی‌ راحت جواب میده) مثلا بنظر من خوب که ۱ ایندکس روی فیلد‌های datee، b_num ، a_tgrp داشته باشی‌.

    سوم اینکه File Group تبل رو از Primary جدا کن و تبل رو روی File Group خودش بذار.

    چهارم اینکه اگر می‌تونی دیتا رو Archive کن، مثلا از یه تاریخی‌ به قبل که بدردت نمی‌خوره رو از این تبل بریز توی ۱ تبلِ دیگه

    پنجم اینکه به نظر منم خیلی‌ خوب که از Cache کردن دیتا توی C#‎ استفاده کنی‌

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

  1. نحوه جستجو در حجم بالای اطلاعات
    نوشته شده توسط Delphi7_love در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 30 بهمن 1389, 21:22 عصر
  2. Replication : حجم بالای اطلاعات و گیر کردن سر یک Table
    نوشته شده توسط amin_alexi در بخش SQL Server
    پاسخ: 1
    آخرین پست: شنبه 16 شهریور 1387, 07:50 صبح
  3. سوال: کند بودن بایند دیتاگرید در حجم بالای اطلاعات
    نوشته شده توسط C#‎_web در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: جمعه 31 خرداد 1387, 16:56 عصر
  4. سوال: Index گذاری و نحوه اعمال آن و تاثیر روی حجم بالای اطلاعات !!
    نوشته شده توسط amin_alexi در بخش SQL Server
    پاسخ: 5
    آخرین پست: سه شنبه 07 خرداد 1387, 11:45 صبح
  5. مشکل سرعت لود کردن حجم بالای اطلاعات
    نوشته شده توسط neda azadi در بخش SQL Server
    پاسخ: 16
    آخرین پست: پنج شنبه 24 اسفند 1385, 23:30 عصر

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

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