نمایش بیش از 5 میلیون رکورد در گرید - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

نمایش بیش از 5 میلیون رکورد در گرید

+1 امتیاز
سلام چطوری میتونم 5 میلیون رکورد رو از دیتابیس اکسس توی گرید نشون بدم؟

میشه با نمونه کامل مثال بزنید؟

با سی شارپ یا وی بی
سوال شده دی 4, 1392  بوسیله ی mahdi72 (امتیاز 10)   1 2
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی BlueBlade

2 پاسخ

+1 امتیاز
سلام.

چند نکته رو مد نظر داشته باشید:

1. برای حجم بالای رکوردها، بهتر هست که از دیتابیس هایی مثل sql server استفاده کنید.

2. من بعید میدونم load کردن یکباره 5 میلیون رکورد به درد شما یا مخاطب شما بخوره. برای این کار حتما از صفحه بندی برای گرید استفاده کنید و در هر صفحه با توجه به سلیقه و نیاز خودتون (تقریبا 50 رکورد) رو نمایش بدید. علاوه بر دلایل بالا، load کردن یکباره 5 میلیون رکورد منابع زیادی رو از سیستم شما میگیره .مخصوصا شی هایی مثل دیتاتیبل یا دیتاست که مستقیما از رم سیستم استفاده می کنند در رکوردهای بالا رم زیادی از سیستم شما رو مصرف می کنند که برای این حجم رکورد بسیار محتمل هست که فرم شما سنگین اجرا بشه.

در کنار استفاده از paging (صفحه بندی) توصیه میکنم که از یکی از روش های برنامه سازی همزمان هم استفاده کنید تا فرم شما و اجرای برنامه شما دچار قفل شدن (هنگ کردن) نشه.

توصیه میکنم درباره تردها یا Backgroundworker یه جستجو انجام بدید.
پاسخ داده شده دی 4, 1392 بوسیله ی veniz2008 (امتیاز 2,083)   1 5 21
+1 امتیاز
علاوه بر مواردی که veniz2008 گفتن:

مهمترین چیزی که میتونه توی کاهش مصرف حافظه به شما کمک کنه و سرعتتون رو به شکل چشمگیری افزایش بده VirtualMode هست که میتونید با یک جست و جوی ساده روش کارش رو پیدا کنید.

دومین نکته ای که میتونه کمکتون کنه اینه که اگر گزارشتون خیلی پیچیدست و در حافظه جا میشه میتونید از OpenCL یا CUDA یا مشابهشون استفاده کنید.

سومین نکته اینه که موقع خوندن اطلاعات باید نوع سختافزاری که اطلاعات روش قرار داره رو در نظر بگیرید.

چهارمین نکته اینه که اگر اطلاعات و برنامه در یک سیستم قرار دارند به اندازه ای اطلاعات بخونید که باعث thrash شدن نشه.

پنچمین نکته اینه که اگر بگیری مانیتور کاربر 1920x1080 پیکسل باشه و از ضلع عمودی همه پیکسل ها استفاده شده باشند و grip ه vscrollbar ه کنار گرید فقط یک پیکسل ارتفاع داشته باشه و کاربر بدونه دقیقا کجا دنبال اطلاعات بگرده, به ازای هر پیکسل حدود پنج هزار سطر اطلاعات وجود داره.و با فرض ارتفاع ۲۲ برای هر سطر جدول یعنی در هر صفحه ۴۸ سطر اطلاعت وجود داره که میشه ۱۰۰ صفحه.یعنی کاربر در صورت اطلاع از موقعیت دقیق اطلاعات باید به طور متوسط 25 بار page up/page down بزنه تا به اطلاعات مورد نظرش برسه. (خیلی به نفع گرفتم که عدد ۲۵ کم تر در بیاد ولی نشد.)

 

اگر مسالتون رو کاملتر توضیح بدید خیلی بهتر میشه راهنماییتون کرد.
پاسخ داده شده دی 5, 1392 بوسیله ی FastCode (امتیاز 602)   1 2 11
ویرایش شده دی 6, 1392 بوسیله ی FastCode
...