PDA

View Full Version : بانک اطلاعاتی بسیار بزرگ



رضا عربلو
جمعه 11 اردیبهشت 1383, 05:23 صبح
با سلام.
چرا در هنگاک ایجاد یک بانک بسیار بزرگ paradox خطای (Disk full) ظاهر می شود. (مثلاً یک بانک اطلاعاتی paradox با چهار ایندکس از نوع number داریم.و وقتی که در یک loop برای ایجاد سریع یک بانک بزرگ 1000000 رکوردی این بانک را ایجاد می کنیم به رکورد حدودا 290000 امین که می رسد خطا فوق ظاهر می شود).
گویا مشکل در تعداد ایندکس ها است و مثلاً اگر تعداد ایندکس ها 3 تا باشد این خطا در رکورد 350000 امین ظاهر میششود.
لازم است که بگم بطور معمول هنگام وارد کردن دستی اطلاعات این خطا پیداش نمی شود 0گویا در مورد بالایی سیستم فرصت نمی کند تا فایل ایندکس را بنویسد)
آیا DBISAM این مشکل را دارد و می تواند طاقت این لوپ بسیار سریع را بیاورد و فایل ایندکسش را سر فرصت به روز برساند.
اصولاً برای بانک ها اطلاعاتی با سایز های مختلف چه نوع databaseی مناسب و یا مناسبتر است.

JavanSoft
جمعه 11 اردیبهشت 1383, 09:55 صبح
برای برنامه های بزرگ هرگز از پارادوکس استفاده نکنید ... SqlServer انتخاب بسیار خوبی است ... اما در مورد پاراد.کس با 1 ایندکس من با 1 میلیون رکورد هم مشکلی نداشته ام ... و حتی اگر در Sqlهم خواستید چنین تستی را انجام دهید هرگز با یک حلقه بی وقفه اینکار را نکنید ...تا حدود زیاد خطاهای شما به سیستم عامل و BDEو میزان بافر آنها نیز مربوط است

SReza1
جمعه 11 اردیبهشت 1383, 10:53 صبح
من ندیدم این همه رکورد تو پارادکس باشه برو سزاغ sql server
در مورد پاردکس یک بار بانکت رو pack کن شاید بتونی جواب بگیری

omidsm
شنبه 12 اردیبهشت 1383, 00:03 صبح
من تا حالا نتونستم بیش از 400000 رکورد را درج کنم اصلا پارادوکس مشکل داره

najafi_1
شنبه 12 اردیبهشت 1383, 08:03 صبح
با اجازه اساتید فن مخصوصاً‌جناب آقی کرامتی
جسارتا عرض شود بنده با همین مشکل مواجه شدم.
بعد از یکهفته تلاش موفق شدم بفهمم موضوع چیه. البته با این پیش فرض که ساده انگاری است اگر فکر کنیم بورلند با این دبدبه و کبکبه این مشکل رو ندیده یا پیش بینی نکرده.
ابتدا عرض شود که paradox در هر جدول میتواند تا 2 بیلیون رکورد ذخیره کند در حالیه در dbase تعداد 1 بیلیون رکورد ذخیره میشود.
مشکل فوق مربوط به اندازه بلوک سایز تعریف شده میباشد. شما میتوانید با دستکاری بلوک سایز و افزایش آن امکان ذخیره رکوردهای بیشتر را بدست آورید.
(بلوک سایز در ابتدا در حداقل سایز قرار گرفته تا فضای هارد تلف نشود. و معلوم میشود که ندرتاً به بلوک سایز زیاد نیاز است).
تذکر یک نکته ضروری است که قبل از تغییر بلوک سایز از جداول خود پشتیبان تهیه کنید.
یه برنامه برا اینکار وجود داره اگه تونستم خود یا آدرسش رو قرار میدم.
بازم با اجازه بزرگترها

najafi_1
شنبه 12 اردیبهشت 1383, 08:08 صبح
این هم فایلی را تغییر بلوک سایز جداول

رضا عربلو
یک شنبه 13 اردیبهشت 1383, 23:33 عصر
آقای نجفی
متشکرم.

رضا عربلو
دوشنبه 14 اردیبهشت 1383, 00:17 صبح
با سلام
این Strict Integrity به چه دردی می خورد؟

چرا این بلوک سایز را در DatabaseDesktop نمی تونم ببینم؟ (شاید باید عینک بخرم 8) )

در ضمن من قسمت اعظم برنامه ام را با Paradox نوشته ام و دیگر نمی تونم به SQL حرکت کنم. انشاالله پروژه های بعدی.

Hidarneh
دوشنبه 14 اردیبهشت 1383, 01:28 صبح
خدمتتان عرض شود که این بلوک سایز از طریق BDE Administrator از کنترل پنل ( قسمت Configuration و بعد هم Drivers -> Native -> Paradox قابل مشاهده و تغییر است .

najafi_1
دوشنبه 14 اردیبهشت 1383, 08:15 صبح
با سلام مجدد
به عرض برسانم تغییر بلوک سایز از طریق desktop موجب میشود تا کلیه جداول دارای این سایز شوند(چون در فایل cfg مینویسد) در حالی که در اکثر مواقع به آن نیاز نیست.
آقای عربلو از کمک شما هم متشکرم و منتظر توضیحات. :flower: