PDA

View Full Version : افزایش سرعت در بانک های اطلاعاتی



hoja06101001
پنج شنبه 19 دی 1387, 22:26 عصر
من می خوام یه اطلاعاتی رو ذخیره کنم که امنیت در ذخیره این اطلاعات برام مهم نیست و تنها نکته مهم برام سرعت دسترسی به این اطلاعات هست .

برای همین من استفاده از xml رو انتخاب کردم .


حجم اطلاعات : برای هر کاربر باید حدود یک رکورد که شامل 100 فیلد ذخیره هست که البته افزایش پیدا نمی کنه و فقط به روز رسانی میشه .

حالا یه سوال دارم .

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

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

ghasem.fattahpour
جمعه 20 دی 1387, 15:55 عصر
دوست عزیز
به هیچ وجه استفاده از فایل XML رو بهت پیشنهاد نمی دم! حال تو میخواهی برای هر کاربر یک فایل ایجاد کنی خودش چندین مشکل به وجود میاره که بحثش طولانی فقط به نکات زیر توجه کن:


سرعت connect به database و اجرای یک query مانند select برای چنین پروژه ای عالی است.
سرعت جستجو در میان فایل ها و یافتن فایل سپس تغییرات در آن و باز گرداندن آن زمان بالایی رو میبره من این کار رو کردم و می دونم که اگر فایلات زیاد باشه چه بلایی سرت می یاد .
برای انجام چنین کاری حتما باید روش های query optimization مثل ant colony استفاده کنی وگرنه سرعت کارت یا متوسط هست یا پایین!

I,Nobody
جمعه 20 دی 1387, 16:00 عصر
چرا XML ؟
بهتره از بانک های اطلاعاتی مثل mysql یا MSSql یا حتی access استفاده کنی. سرعتت در این حالات خیلی بیشتر از استفاده از XML هست

hoja06101001
جمعه 20 دی 1387, 19:28 عصر
ماری که من می خوام انجام بدم این هست که یک کد جاوا اسکریپت رو در صفحات مختلف قرار بدم و این کد این صفحه رو فراخوانی کنه این صفحه هم یه اطلاعاتی رو از صفحه فراخونی شده در بانک اطلاعاتی ذخیره کنه .

برای همین سرعت می خوام خیلی بالا باشه و قبل از load کامل صفحه این کار شده باشه .

در حالی که اگر mysql استفاده کنم فکر نمی کنم بتونه این سرعت رو در ثبت اطلاعات بذام به ارمغان بیاره چون خود اتصال به mysql زمان میبره و من میخوام این زمان مربوط به اتصال به بانک اطلاتی رو حذف کنم .


اما در مورد پیشنهادی که خودم اول داده بودم هنوز هم متوجه نشدم که چرا نباید از xml استفاده کنم .

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

اگه کسی راهی برای جبران اون زمانی که برای اتصال به mysql صرف میشه داره مطرح کنه تا هم من و هم بغییه استفاده کنن .

amir.s
جمعه 20 دی 1387, 23:25 عصر
سلام

حقیقت اینکه من خیلی متوجه نشدم شما چه کاری دارید انجام میدید :لبخندساده:، اما چیزی که برای من واضحه اینکه شما هر شکلی که به XML در سرور نگاه کنید یه فایل هست و باز کردن هندل و ... خیلی زمان بیشتری از اتصال و بازخوانی اطلاعات از دیتابیسی (مثل MySQL) می بره .

ghasem.fattahpour
شنبه 21 دی 1387, 16:32 عصر
هر فایل فقط حدود 1 کیلو بایت حجم داره بنابراین جستجو کردن تو این فایل خیلی نباید طول بکشه از طرف دیگه هم اسم فایل xml که باید باز بشه معلوم هست و فقط باید بازش کرد .

اگه کسی راهی برای جبران اون زمانی که برای اتصال به mysql صرف میشه داره مطرح کنه تا هم من و هم بغییه استفاده کنن .

در هر بار که شما به فایل یا db وصل می شوید زمانی را صرف می کنید. پس گریزی از این مسئله نیست! به طور کلی اگر در .net این برنامه را می نوشتید ابزار خوبی برای بهبود این زمان داشتید. اما در php زمان وصل شدن به db mysql بسیار کمتر از وصل شدن به یک فایل است.