PDA

View Full Version : سرعت ذخیره سازی 2000 Sql Server؟



Ali-Far
یک شنبه 03 اردیبهشت 1385, 15:56 عصر
سلام.
من یک برنامه تست برای مقایسه زمان ذخیره سازی در فایل های Text , Paradox , Sql Server نوشتم برای هر کدام برنامه ی مشابه با تعداد رکورد مشخص نوشتم در ذخیره فایل های Text و Paradox سرعت ذخیره سازی در حد میلی ثانیه بود .( من زمان را با استفاده ازتابع Now برای شروع و پایان ذخیره سازی بدست آوردم ).
ولی برای Sql Server 2000 با همان تعداد رکورد حدود 26 ثانیه طول کشید .
من برای sql در برتامه از Ado استفاده کرده ام و در قسمت ذخیره سازی بصورت زیر عمل کردم :
ADOTable1.Active:=false;
ADOTable1.TableName:='نام جدول';
ADOTable1.Open;
ADOTable1.Insert;
ADOTable1.FieldValues['نام فیلد '] := value ;
.
.
.
ADOTable1.Post ;
ADOTable1.Close;
شما مشکل کار را در کجا می بینید و آیا قبلا به این قبیل مشکل ها برخورد گرده ایید .
لطفا در این زمینه به من کمک کنید.

////////////////////////////////
چو گفتی که وام هنر توختم
همه هر چه بایستم آموختم
یکی نغز بازی کند روزگار
که بنشاندت پیش آموزگار
فردوسی

mzjahromi
یک شنبه 03 اردیبهشت 1385, 17:02 عصر
من قبلا این مساله رو تست کردم.
سرعت ذخیره و باز یابی در پارادوکس نسبتا بهتره ولی امنیت....
اگر وسط اجرای عملیات سیستم با مشکلی مواجه بشه یا مثلا ریست بشه....
ایندکسها زود به هم میریزه

Ali-Far
یک شنبه 03 اردیبهشت 1385, 20:33 عصر
آیا این مسئله طبیعی است یا غیر عادی ؟
و علت اون چیه ؟ مگه SQL SEREVER چه کاری اضافه تر انجام میده؟

Kamyar.Kimiyabeigi
دوشنبه 04 اردیبهشت 1385, 07:02 صبح
Ali-Far
دوست عزیز بهتره برای تست سرعت از محیطهای خود DB ها استفاده کنین چون هر زبان برنامه نویسی به طرق مختلف به DB وصل میشه مثله ADO و یا BDE و غیره که هر کدوم از این روشها هم متد مخصوص به خودش رو داره که در سرعت تاثیر گذاره


مگه SQL SEREVER چه کاری اضافه تر انجام میده؟

در خصوص این سوال شما باید در مورد معماری داخل SQL Server و نحوه نگهداری و Log کردن و ... خودتون مطالعه داشته باشین و چیزی نیست که بشه در حد یک جمله و یا پاراگراف گفت که SQL Server چه کار اضافه ایی انجام میده

Ali-Far
دوشنبه 04 اردیبهشت 1385, 07:32 صبح
لطفا یک منبع در این رابطه اگه میتونید معرفی کنید .

Kamyar.Kimiyabeigi
دوشنبه 04 اردیبهشت 1385, 07:54 صبح
http://www.sqlsolutions.ir

AminSobati
دوشنبه 04 اردیبهشت 1385, 20:32 عصر
موضوع ذخیره اطلاعات در SQL Server به عهده بخشی به اسم Storage Engine هست و از پیچیدگی بالایی برخورداره. یک کتاب بسیار عالی تا اواسط سال 2006 از Microsoft Press منتشر میشه که این Engine رو تشریح کرده. علت اینکه امکان خرابی ایندکسها و سایر اطلاعات در SQL Server بسیار پایین هست اینه که از مکانیزم Write-ahead-log file استفاده میشه. یعنی قبل از اینکه کاری انجام بشه، ابتدا در Log File یادداشت میشه تا اگر در هنگام انجام فیزیکیه کار مشکلی پیش اومد، در دفعه بعدی که SQL Server بالا میاد، در مرحله Recovery میدونه کدوم کارها ناقص انجام شده و میتونه کامل کنه (در بعضی موارد به عقب برگرده)