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

راهنمایی برای طراحی جدول با تعداد رکورد زیاد + تعداد فیلد زیاد در وردپرس

file3

Registered User
تاریخ عضویت
26 آپریل 2015
نوشته‌ها
310
لایک‌ها
69
سن
35
محل سکونت
مشهد
سلام
من میخام یه سایت کتاب طراحی کنم که تعداد کتاب ها بالای 1 میلیون هست و حدودا 20-30 فیلد جزئیات کتاب داره.

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

در نظر داشته باشین که تعداد فیلد های خود posts تقریبا 22 فیلده و منم اگر 20 فیلد جزئیات کتاب رو بهش اضافه کنم میشه حدود 40-50 فیلد و فرض کنید 2 میلیون رکورد هم داخل این دیتابیس ایجاد شه ! بعد برای جستجو یا خواندن اون رکورد فکر کنم دیتابیس کم بیاره یا سرعتش خیلی کم شه !

یه مشکل دیگه هم هست ... ووکامرس هم هست که باید با جدول book و posts در ارتباط باشه و اطلاعات رو از همین جداول بگیره ! اونو چه راهی پیشنهاد میدید؟؟؟

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

خیلییییییییییی ممنون
 

ayma

کاربر فعال بخش پاتوق
کاربر فعال
تاریخ عضویت
3 دسامبر 2011
نوشته‌ها
1,075
لایک‌ها
3,581
سن
36
سلام ، اینقدر کلمات استاد و حرفه ای و .. رو نوشتین جرت پیشنهاد دادن ادم میاد پایین :p
فکر نمی کنم اینکه بخواین از جدول post استفاده کنین ، روش خوبی باشه چون تغییر ساختار استاندارد ممکنه دردسرهایی درست کنه ، مخصوصا" تو استفاده از پلاگین ها ..اینم فرض کنید فرضا" شما فیلدهای جدول مشتریان ؛ جدول تراکنش ،جدول کتاب ، جدول نویسندگان رو داخل یک یک جدول ذخیره کردین (( یعنی به قول خودتون داخل همون post ) ،بعد یه نفر وارد سایت شما میشه و تراکنشی صورت می گیره ، یعنی به خاطر یه تراکنش باید با 22 فیلد دیگه هم سر و کار داشته باشیم ؟!
 

file3

Registered User
تاریخ عضویت
26 آپریل 2015
نوشته‌ها
310
لایک‌ها
69
سن
35
محل سکونت
مشهد
سلام ، اینقدر کلمات استاد و حرفه ای و .. رو نوشتین جرت پیشنهاد دادن ادم میاد پایین :p
فکر نمی کنم اینکه بخواین از جدول post استفاده کنین ، روش خوبی باشه چون تغییر ساختار استاندارد ممکنه دردسرهایی درست کنه ، مخصوصا" تو استفاده از پلاگین ها ..اینم فرض کنید فرضا" شما فیلدهای جدول مشتریان ؛ جدول تراکنش ،جدول کتاب ، جدول نویسندگان رو داخل یک یک جدول ذخیره کردین (( یعنی به قول خودتون داخل همون post ) ،بعد یه نفر وارد سایت شما میشه و تراکنشی صورت می گیره ، یعنی به خاطر یه تراکنش باید با 22 فیلد دیگه هم سر و کار داشته باشیم ؟!

سلام
شرمنده میخواستم اسپم کم باشه...
آره منم همین فکر شمارو میکنم اما از طرفی میشه این مشکلو با انتخاب همون فیلدایی که لازمه حل کرد مثلا بجای اینکه بگیم select * فقط فیلدایی که لازمه رو انتخاب کنیم ... اما بازهم افزونه ها رو باید همه رو تنظیم کرد و .... که خیلی دردسرش زیاد میشه

خب حالا بگیر راه حل چیه !
 

ayma

کاربر فعال بخش پاتوق
کاربر فعال
تاریخ عضویت
3 دسامبر 2011
نوشته‌ها
1,075
لایک‌ها
3,581
سن
36
سلام
شرمنده میخواستم اسپم کم باشه...
آره منم همین فکر شمارو میکنم اما از طرفی میشه این مشکلو با انتخاب همون فیلدایی که لازمه حل کرد مثلا بجای اینکه بگیم select * فقط فیلدایی که لازمه رو انتخاب کنیم ... اما بازهم افزونه ها رو باید همه رو تنظیم کرد و .... که خیلی دردسرش زیاد میشه

خب حالا بگیر راه حل چیه !

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

حالا شما فرضا" نیاز دارید نام افرادی که کتاب ایکس رو خریدن لیست کنید
اینجاست که بر اساس ایدی هایی که هست می تونید بین این جدوال
ارتباط برقرار کنید

اگر خطایی در پیشنهاد بنده هست خوشحال میشم شما و دیگر دوستان تذکر بدین .
 

file3

Registered User
تاریخ عضویت
26 آپریل 2015
نوشته‌ها
310
لایک‌ها
69
سن
35
محل سکونت
مشهد
فقط کوئری Select که نیست ، شما کوئری Insert و .. هم دارین (حالا از این موضوع بگذریم )
شما باید جدوال رو جداگانه طراحی کنید ، و اینها رو توسط کد بهم متصل کنید
جسارتا" اگر با مفاهیمی مانند کلید خارجی ، کلید اصلی اشنا نیستید در موردش مطالعه کتید.
.

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

skate

Registered User
تاریخ عضویت
22 فوریه 2007
نوشته‌ها
393
لایک‌ها
143
محل سکونت
اصفهان
یه مشکل دیگه هم هست ... ووکامرس هم هست که باید با جدول book و posts در ارتباط باشه و اطلاعات رو از همین جداول بگیره ! اونو چه راهی پیشنهاد میدید؟؟؟
اگر این رو در نظر بگیریم ،‌شما کلا باید با روال معمول وردپرس جلو برید و طراحی کردن دیتابیس و این ها کلا برای این موضوع بی معنی هست.
'وردپرس سیستمی سریع برای دیتابیس های سبک و نادان برای دیتابیس های سنگین.'
 

webs

Registered User
تاریخ عضویت
14 آپریل 2010
نوشته‌ها
2,019
لایک‌ها
1,475
محل سکونت
php.ini
صحبت های ayma تایید میشه. بهتره برای استفاده های بعدی، جدول book رو جدا کنید.

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

file3

Registered User
تاریخ عضویت
26 آپریل 2015
نوشته‌ها
310
لایک‌ها
69
سن
35
محل سکونت
مشهد
اگر این رو در نظر بگیریم ،‌شما کلا باید با روال معمول وردپرس جلو برید و طراحی کردن دیتابیس و این ها کلا برای این موضوع بی معنی هست.
'وردپرس سیستمی سریع برای دیتابیس های سبک و نادان برای دیتابیس های سنگین.'

یعنی شما کلا نظرتون اینه که با وردپرس جواب نمیده :( ؟
دیتابیس من شاید به 2-3 گیگ هم برسه ...
 

file3

Registered User
تاریخ عضویت
26 آپریل 2015
نوشته‌ها
310
لایک‌ها
69
سن
35
محل سکونت
مشهد
صحبت های ayma تایید میشه. بهتره برای استفاده های بعدی، جدول book رو جدا کنید.

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

جدا کردم فقط اگه قرار باشه به ازای هر رکورد از جدول book یه رکورد هم داخل جدول posts ایجاد شه و حداقل یه رکورد هم ووکامرس ایجاد کنه ، همچنین جداول posts_meta و ... هم اگه فقط یه رکورد به ازای هر پست ایجاد کنه - یعنی برای 1 میلیون پست 4 میلیون رکورد ایجاد شده ، که اگه پست های من 2 میلیون بشه حداقل 8 میلیون رکورد داخل دیتابیس خواهم داشت!
درحال حاضر فقط جدول book حجم 1 گیگ داره !!!
 

webs

Registered User
تاریخ عضویت
14 آپریل 2010
نوشته‌ها
2,019
لایک‌ها
1,475
محل سکونت
php.ini
معلوم نیست میخوای چیکار کنی!
اصلاً چرا فقط با ووکامرس کار نمی کنی؟ اون فیلدهای اضافه رو هم با custom feild ایجاد کن. کدنویسی هم نداره. (هر چند که با این حجم دیتابیس زیاد جالب نیست ولی از این کاری که شما میخوای انجام بدی بهتره)
 

file3

Registered User
تاریخ عضویت
26 آپریل 2015
نوشته‌ها
310
لایک‌ها
69
سن
35
محل سکونت
مشهد
معلوم نیست میخوای چیکار کنی!
اصلاً چرا فقط با ووکامرس کار نمی کنی؟ اون فیلدهای اضافه رو هم با custom feild ایجاد کن. کدنویسی هم نداره. (هر چند که با این حجم دیتابیس زیاد جالب نیست ولی از این کاری که شما میخوای انجام بدی بهتره)
چون جدول book با 1 میلیون رکورد و 20 فیلد از قبل اطلاعات واردش شده ...
 

skate

Registered User
تاریخ عضویت
22 فوریه 2007
نوشته‌ها
393
لایک‌ها
143
محل سکونت
اصفهان
یعنی شما کلا نظرتون اینه که با وردپرس جواب نمیده :( ؟
دیتابیس من شاید به 2-3 گیگ هم برسه ...
۱۰۰٪
یه سوال داخل انجمن های تخصصی برنامه نویسی(نه وردپرس) بپرسید بهتون می گن.
 

webs

Registered User
تاریخ عضویت
14 آپریل 2010
نوشته‌ها
2,019
لایک‌ها
1,475
محل سکونت
php.ini
چون جدول book با 1 میلیون رکورد و 20 فیلد از قبل اطلاعات واردش شده ...
پس شما به چه صورتی میخواهید از ووکامرس استفاده کنید؟
اگه ساختار دیتابیس با ووکامرس هماهنگ شده باشه مشکلی نباید وجود داشته باشه.
 
بالا