ورود

View Full Version : درخواست راهنمایی برای دیتابیس حجیم و پرتراکنش



hesam67_b
یک شنبه 12 دی 1395, 15:54 عصر
با سلام و خسته نباشید.
دوستان راهنمایی میخوام برای راه اندازی جدولی که تعداد رکورد نسبتا بالایی داره و عملیات خوندن و نوشتن در اون بسیار بالاست.
مثال : یک جدول با 300 هزار رکورد که بسیار در حال نوشتن و خوانده شدن هست.
چه راهکاری برای این جدول پیشنهاد میکنید؟
توجه داشته باشید استفاده از کلید اختصاصی و innobdb نتونسته خیلی کمکی کنه و cpu همیشه بالای 95 درصد هست.

سعید صابری
یک شنبه 12 دی 1395, 18:53 عصر
انجین به Myisam تغییر بده البته باید بیخیال رابطه بشی!
البته 300 هزار تا هم زیاد نیست نباید زیاد سرعت کم باشه

hesam67_b
دوشنبه 13 دی 1395, 07:52 صبح
انجین به Myisam تغییر بده البته باید بیخیال رابطه بشی!
البته 300 هزار تا هم زیاد نیست نباید زیاد سرعت کم باشه
ممنون از پاسخ شما، از اونجایی که عملیات نوشتن هم زمان با خواندن رخ میده، اگر بخوایم از myisam استفاده کنیم عملا برنامه از کار میوفته! چون این نوع جداول هنگام نوشته شدن یا بروزرسانی، کل جدول رو قفل میکنن!
مشکل ما بالا بودن مصرف cpu هست که ظاهرا در هنگام مرتب سازی این اتفاق میوفته.

سعید صابری
دوشنبه 13 دی 1395, 14:45 عصر
راستی تنظیمات مربوط به حافظه برای هر عملیات در فایل my.ini است که میتونی نسبت به نیازت تغییر بدی

SlowCode
دوشنبه 04 بهمن 1395, 20:43 عصر
اول باید همه چی بررسی بشه!
- ساختار دیتابیس شما و اصول طراحی پایگاه داده
- نحوه کدنویسی php شما. حتی یه select * هم میتونه تو مقیاس بزرگ تاثیر محسوسی ایجاد کنه.

ولی درکل بهتره واسه داده های زیاد از mysql صرف نظر کنین و گزینه هایی مثل postgreSQL و mongoDB و ... رو هم تست کنین.
من برای 2 میلیون رکورد mysql داغونم کرد! ولی postgresql خیلی عالی بود.

hesam67_b
سه شنبه 05 بهمن 1395, 08:19 صبح
ممنون از همه. یک سوال دیگه اینکه :
ما یه لیست سفارشات داریم که باید انجام بشن توسط بازاریابان. عملیات خوانده شدن و نوشته شدن از این لیست توسط بازاریابان خیلی بالاست.
چطور میشه لیست رو چطوری برگشت داد که همه ی سفارشات موجود در لیست مورد نمایش قرار بگیرن؟
مثلا اینطوری نباشه که یک تعداد خاصی از سفارشات برگشت داده بشه بلکه همه به یک اندازه مورد توجه باشن.

اینم بگم که اگر بخوایم order by یک فیلد خاص بکنیم، یک سفارش خیلی بیشتر از نیاز مورد نمایش قرار میگیره چون تعداد عملیات درخواست توسط بازاریابان بالاست.

ممنون میشم در این مورد راهنمایی کنید.

SlowCode
شنبه 16 بهمن 1395, 01:08 صبح
به صورت راندوم مرتب کنین.
ORDER BY RAND()
اگه چیزی که میخوایین فراتر هست باید کامل توضیح بدین(خیلی کلی توضیح دادین) بعد براش یه الگوریتم نوشته بشه که سفارشات رو با حساب و کتاب نمایش بده.