نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: راهنمایی در مورد طراحی دیتابیس

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن be099 آواتار ها
    تاریخ عضویت
    May 2009
    محل سکونت
    ﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽
    نوشته ها
    338
    تشکر تشکر کرده 
    176
    تشکر تشکر شده 
    651
    تشکر شده در
    385 پست

    پیش فرض پاسخ : راهنمایی در مورد طراحی دیتابیس

    نقل قول نوشته اصلی توسط tik20 نمایش پست ها
    سلام
    بنده در حال طراحی یک سیستم هستم با زیان php
    در قسمت طراحی دیتابیسش برام شک به وجود اومده
    بنده یدونه تیبل posts خواهم داشت و در هر ردیف از هر پست میخوام آیدی کاربرانی که به این پست لایک دادند رو در یک ستون با نام liked_users به صورتی که ایدی کاربران با "," جدا بشه در اون سیو کنم
    به اینصورت:
    (تیبل posts)
    date liked_users content id
    2342352424 123,324,2345,24,2342,234,2342 salam 12






    1-من با استفاده از concat در هر مرحله کاربر جدید رو اضافه میکنم به liked_users آیا این کار درستی هست؟
    2-آیا ممکنه اطلاعات به صورت کامل ذخیره نشه-حتی اگه سیستم timed out بشه؟


    و یک سوال دیگر:
    اگه بخوام به جای این کار یدونه تیبل با نام liked_users باز کنم به صورت زیر:

    (تیبل liked_users):
    like_type user_id post_id
    like 324 12
    dislike 123 12
    dislike 2342 12
    like 2345 12



    یعنی به صورتی که برای لایک هر شخص یک ردیف ایجاد بشه
    3-آیا این مدلی فشار زیاد میشه؟

    4- بالای چه تعداد ردیف برای یک تیبل فشار به سرور فشار میاره؟
    5-آیا روش مشخصی برای محاسبه فشار هست؟
    6- برنامه ای برای طراحی دیتابیس وجود داره خوب باشه؟
    باتشکر
    مورد اولی در صورتی که تعداد لایک ها و همچنین طول رشته ی یوزر آی دی ها زیاد بشه قطعا به مشکل میخوره همچنین برای سایر محاسبات در آینده به مشکل میخورید
    مثلا اینکه بخواید تعداد پست های لایک شده ی یک یوزرو پیدا کنید باید کل تیبل جستجو بشه + توابع کار با رشته ها در php هم باید درگیر بشه پس مورد اول کاملا منتفی میشه

    پس قطعا باید از مورد دوم استفاده کنید و همچنین اینکس روی فیلد های پست و یوزر آیدی فراموش نشه
    فشار هم اینطور بهتون بگم که اگر تعداد رکورد ها به یک میلیون هم برسه با یک cpu تک هسته ای ، کوئری پیدا کردن لایک های یک پست چیزی کمتر از 0.01 ثانیه میشه حتی اگه تیبل از نوع myisam باشه
    mysql چیزی فراتر از اونیه که خیلیا فکرشو میکنن

  2. تعداد تشکر ها ازbe099 به دلیل پست مفید


  3. #2
    عضو جدید
    تاریخ عضویت
    Oct 2011
    نوشته ها
    10
    تشکر تشکر کرده 
    8
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض پاسخ : راهنمایی در مورد طراحی دیتابیس

    نقل قول نوشته اصلی توسط be099 نمایش پست ها
    مورد اولی در صورتی که تعداد لایک ها و همچنین طول رشته ی یوزر آی دی ها زیاد بشه قطعا به مشکل میخوره همچنین برای سایر محاسبات در آینده به مشکل میخورید
    مثلا اینکه بخواید تعداد پست های لایک شده ی یک یوزرو پیدا کنید باید کل تیبل جستجو بشه + توابع کار با رشته ها در php هم باید درگیر بشه پس مورد اول کاملا منتفی میشه

    پس قطعا باید از مورد دوم استفاده کنید و همچنین اینکس روی فیلد های پست و یوزر آیدی فراموش نشه
    فشار هم اینطور بهتون بگم که اگر تعداد رکورد ها به یک میلیون هم برسه با یک cpu تک هسته ای ، کوئری پیدا کردن لایک های یک پست چیزی کمتر از 0.01 ثانیه میشه حتی اگه تیبل از نوع myisam باشه
    mysql چیزی فراتر از اونیه که خیلیا فکرشو میکنن
    واقعا ممنون از راهنماییتون
    آیا روش دیگری هست که مناسبتر باشه؟

اطلاعات موضوع

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

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. راهنمایی در منطق طراحی دیتابیس
    توسط keyhan7 در انجمن PHP-MySQL
    پاسخ ها: 5
    آخرين نوشته: December 2nd, 2017, 19:36
  2. پاسخ ها: 3
    آخرين نوشته: September 26th, 2017, 00:34
  3. راهنمایی در مورد دیتابیس
    توسط mahmoodsoft در انجمن سوالات و مشکلات
    پاسخ ها: 5
    آخرين نوشته: March 8th, 2016, 11:51
  4. راهنمایی در مورد بکاپ گیری از دیتابیس با اسم های مختلف
    توسط mojtaba127 در انجمن سوالات و مشکلات
    پاسخ ها: 0
    آخرين نوشته: December 10th, 2014, 11:41
  5. پاسخ ها: 10
    آخرين نوشته: July 22nd, 2014, 11:13

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •