PDA

View Full Version : نوشتن برنامه ای با سرعت بالا



qqq2qqq
جمعه 16 دی 1390, 15:11 عصر
سلام من می خوام با c# برنامه ای بنویسم کخ ممکنه رکورهاش به 30 هزارتا برسه لطفا یکی بگه با اکسس بنویسم یا Sql ؟

zarrinnegar
جمعه 16 دی 1390, 15:21 عصر
برنامه ای هم بنویسی که 300 میلیون تا رکورد داشته باشه این که اکسس باشه یا sql ، سرعت رو برات تعیین نمیکنه

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

اینطوری با اکسس یا sql فرقی نمیکنه

فقط یک جا فرق میکنه که اگه sql باشه چون بانک اطلاعاتیت بازه زمان کانکشن به حد اقل میرسه ، درمورد ساخت جدول های temp میتونی توش اقدام کنی توی اکسس نمیتونی
یه سری دستورات وجود داره که اکسس ساپورت نمیکنه مثل autonumber توی دستور select و ....

به نظر من sql خیلی بهتره ولی برای سرعت خودت باید ابتکار به خرج بدی

qqq2qqq
جمعه 16 دی 1390, 16:45 عصر
بنا به سیستم طرف تصمیم این گرفتم که با اکسس بنویسم شیوه خاصی بچه دارین که تو کدنویسیا سرعت لود کمتر بشه؟

linux
جمعه 16 دی 1390, 17:03 عصر
سلام من می خوام با c# برنامه ای بنویسم کخ ممکنه رکورهاش به 30 هزارتا برسه لطفا یکی بگه با اکسس بنویسم یا Sql ؟


اووووووووووو! سی هزار تا! وای چه عظمتی!

jmfnima
جمعه 16 دی 1390, 19:30 عصر
با سلام به شما دوست عزیز
الان من در حال حاضر از اکسس به عنوان دیتابیس استفاده میکنم با وجود اینکه تعداد رکوردهای اون خلیی زیاده ولی سرعتش فقط بستگی به این داره که اولا در زمان لود اطلاعات همه رکوردها رو نمیخواد لود کنی و دوم اینکه برای اتصال به دیتابیس دستورات کانکشن شدن رو در کلاس ها تعریف کنی و به ازای هر جدولت یک کلاس بنویسی که به اون برنامه نویسی چند لایه میگن . موفق باشی

ali reza mansoori 2
جمعه 16 دی 1390, 21:32 عصر
ما یاد گرفتیم برای نمایش اطلاعات از دیتا گرید و کامپونت های مشابه اون استفاده کنیم
دوستان میشه راهنمایی که برای صفحه بندی اطلاعات باید چه کار کنیم یا از چه کامپونتی استفاده کنیم
مثلا تعریف کنیم که 50 تا رکورد در صفحه بیشتر نشون داده نشه و بقه اطلاعات در صفحه های بعد نمایش داده بشه
خیلی ممنون

sara_aryanfar
جمعه 16 دی 1390, 21:46 عصر
ااگه از گرید ویو استفاده کنید همه اطلاعات بایند میشن و این غیر ممکنه البته برا این حجم رکورد پس شما نباید همه داده رو بایند کنی فقط اون تعداد مورد نظر رو بایند کنین

ali reza mansoori 2
جمعه 16 دی 1390, 21:56 عصر
ااگه از گرید ویو استفاده کنید همه اطلاعات بایند میشن و این غیر ممکنه البته برا این حجم رکورد پس شما نباید همه داده رو بایند کنی فقط اون تعداد مورد نظر رو بایند کنین
کلا به غیر از گرید ویو آیا کامپونت دیگه ای هستش برای این کار؟

zarrinnegar
جمعه 16 دی 1390, 23:11 عصر
من قبلا توضیح دادم اگه میگشتید پیدا میکردید

http://barnamenevis.org/showthread.php?292246-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF-%D8%B2%DB%8C%D8%A7%D8%AF-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF&highlight=%D8%B5%D9%81%D8%AD%D9%87+%D8%A8%D9%86%D8 %AF%DB%8C

sara_aryanfar
جمعه 16 دی 1390, 23:13 عصر
منظور من این نیست که شما از گرید ویو استفاده نکنید به طور حتم این کنترل کاملترین کنترل هست اما اگر شما بخواید خیلی معمولی 30000 هزار رکورد رو به گرید ویو بدین خودتون حساب کنین چی میشه بهترین راه این هست که فرضا 50 رکورد مورد نظر رو از دیتابیس واکشی ودر صفحه اول باشه ووقتی بخواهیم به صفحه دوم برویم دوباره 50 رکورد بعدی رو واکشی کنیم این به نظرم سریع ترین راه هست