• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ایجاد جدول روزانه به صورت خودکار
#1
به نام خدا

سلام دوستان

ما یه فروشگاه داریم با مشترکین ثابت
که هر روز میان و چند سفارش ثبت می کنن.

پرسش اینه که جداول مربوط به سفارش هارو چه طوری ایجاد می کنیم در این موارد؟
یعنی سفارش های تا پایان امروز در یک جدول ثبت شه، و فردا یک جدول جدید ایجاد شه و سفارش های فردا در جدول مخصوص اون روز ثبت شه.

تشکر پیشاپیش
  پاسخ
تشکر شده توسط :
#2
می تونم این کارو انجام بدم؟
مثلا جدول به نام orders961008 برای سفارش های امروز
و از ساعت 0، جدول orders961009 ساخته بشه و سفارش های فردا در اون ثبت شن
و همین روال ادامه داشته باشه؟

این سایت حدود 500 کاربر خواهد داشت
و چون افراد مختلف، گزارش های مختلفی می گیرن از این جداول (تعداد فروش و ...) لازمه سرعت مناسب باشه و کند نشه.

این روش مناسبه؟
  پاسخ
تشکر شده توسط :
#3
یه جدول به اسم order بساز و یک فیلد به اسم date برای ثبت تاریخ سفارشات براش در نظر بگیر.
  پاسخ
تشکر شده توسط : soheyl_ir89 ayoubsys
#4
(۱۳۹۶ دى ۰۹, ۰۴:۱۰ ق.ظ)Reza نوشته: یه جدول به اسم order بساز و یک فیلد به اسم date برای ثبت تاریخ سفارشات براش در نظر بگیر.

سلام

ممنون
اگر یک جدول به نام orders بسازیم
و همه ی سفارش ها با تاریخ ثبت بشن، می شه زمان جستجو و برای مشاهده سبد یک روز خاص، جستجو بر اساس تاریخ باشه؛ این خوبه.
اما ماه ها بعد که این جدول خیلی زیاد شد، زمانی که می خوایم گزارش بگیریم و مثلا می ره سفارش های فلان کاربر یا فلان تاریخ رو بگرده و نمایش بده، به سرور فشار نمیاد؟
اگر از نظر فنی، پیشنهادتون مشکلی ایجاد نمی کنه، بهتره و راحت ترم هست.
نظر من برای جدول های روزانه به خاطر آسایش سرور بود Big Grin البته فکر کنم تعداد جداول هم زیاد می شه و بازم برای بعضی گزارش ها باید چند جدول رو بگردهExclamation
  پاسخ
تشکر شده توسط :
#5
نقل قول: اما ماه ها بعد که این جدول خیلی زیاد شد، زمانی که می خوایم گزارش بگیریم و مثلا می ره سفارش های فلان کاربر یا فلان تاریخ رو بگرده و نمایش بده، به سرور فشار نمیاد؟
راه حل ایندکس گذاری هست .
https://dev.mysql.com/doc/refman/5.5/en/...dexes.html
درس ذخیره و بازیابی اطلاعات و مفاهیم بنیادی پایگاه داده خیلی کمک میکنه .

نقل قول:نظر من برای جدول های روزانه به خاطر آسایش سرور بود
تعدد تیبل چندان بهینه سازی اینجاد نمیکنه در انجین innodb کلیه تیبل ها در یک فایل ذخیره میشن .
شما اصول ایندکس گذاری رو رعایت کنید نتیجه مناسبی میگیرد (یک تا چند میلیون رکورد)
در مرحله بعد پارتیشن بندی در دیتابیس (چند ده میلیون رکورد)
و فن آخر هم کلاسترینگ هس Big Grin
البته اگر تا قبل از مرحله آخر ، دنبال دیتابیس هایی چون postgresql نرفته باشی Cool
  پاسخ
تشکر شده توسط : ayoubsys soheyl_ir89


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان