علی امینی
4 سال پیش توسط علی امینی مطرح شد
4 پاسخ

ستون های زیاد یا رابطه یک به یک

سلام دوستان وقت همگی بخیر
ما یک جدول محصول داریم که دارای فیلدهای قیمتی و چند فیلد دیگه هست و همچنین دارای 10-12 فیلد که برای یه سری قوانین اون محصول است
بنظرتون این 10 فیلدی که گفتم به عنوان ستون در همین جدول محصول در نظر بگیریم یا براش یک رابطه یک به یک بزنیم؟
سرعت لود و بهینه سازی در کدوم روش بهتره؟


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

بستگی داره بخواهی به چه شکل داده ها رو واکشی کنی
و اینکه چه ساختاری رو برای دیتابیست داری

بعضی مواقع راهکار خوبیه که برای برخی اطلاعاتی که کمتر استفاده میشند، یه ستون به جدول اصلی اضافه کنی. این جوری کوئری ها هم یه مقدار سبک تر میشند. اما از طرفی جدول اصلی بزرگ میشه و پر از اطلاعاتی میشه که شاید همیشه لازم نباشند

ولی اگر قراره بیش از یک ویژگی داشته باشی که ربط آنچنانی هم به جدول اصلی نداره،‌ساخت جدول جدید بهتره

مثلا اگر مشخصات فیزیک محصول شامل فقط وزن بشه، خوب میشه از همون یک فیلد اضافه استفاده کرد
اما اگر قرار باشه مشخصات فیزیکی شامل وزن، ابعاد و رنگ و غیره باشه بهتره از جدول جدید استفاده کرد

این یک قاعده کلی هست و ممکنه در شرایط خاص یک پروژه همچین اتفاقی نیفته


saman
@saman1111 4 سال پیش مطرح شد
0

سلام
اگه همیشه اون ستون ها قراره پر بشن توی همون جدول در نظر بگیرید بهتره


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

بستگی داره بخواهی به چه شکل داده ها رو واکشی کنی
و اینکه چه ساختاری رو برای دیتابیست داری

بعضی مواقع راهکار خوبیه که برای برخی اطلاعاتی که کمتر استفاده میشند، یه ستون به جدول اصلی اضافه کنی. این جوری کوئری ها هم یه مقدار سبک تر میشند. اما از طرفی جدول اصلی بزرگ میشه و پر از اطلاعاتی میشه که شاید همیشه لازم نباشند

ولی اگر قراره بیش از یک ویژگی داشته باشی که ربط آنچنانی هم به جدول اصلی نداره،‌ساخت جدول جدید بهتره

مثلا اگر مشخصات فیزیک محصول شامل فقط وزن بشه، خوب میشه از همون یک فیلد اضافه استفاده کرد
اما اگر قرار باشه مشخصات فیزیکی شامل وزن، ابعاد و رنگ و غیره باشه بهتره از جدول جدید استفاده کرد

این یک قاعده کلی هست و ممکنه در شرایط خاص یک پروژه همچین اتفاقی نیفته


علی امینی
@mehdi2private 4 سال پیش مطرح شد
0

خیلی ممنون از پاسخ بسیار خوبتون
فقط بنظرتون باید در زمان واکشی کردن اطلاعات از این جدول از اینتر جوین استفاده شود بهتر است یا ساب کوئری؟
بنظرتون باید از جوین یا ساب کوئری اجتناب کرد؟
@ali.bayat


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

بسته به استفاده شما از Eloquent یا Query Builder لاراول در پشت صحنه یک کوئری میسازه و اجرا میکنه
حالا با توجه به نوع کوئری که میزنی، ممکنه حالاتی که نام بردی در شرایط مختلف جاشون عوض بشه.

بهترین راه برای اینکه بفمی کدوم کوئری بهینه تره .. اینه که بررسی کنی و ببینی کدوم یکی با داده های مختلف سریع تر اجرا میشه

از ابزارهای دیباگ مثل laravel debugbar یا Telescope استفاده کن.. که زمان کوئری ها رو بهت میده و میتونی مقایسه کنی


در ضمن روابط بین مدل ها هم در جاهای زیادی از JOIN ها بهره برده..


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام