-
January 25th, 2018, 15:28
#1
left join یا چند کوئری ؟
سلام دوستان
بنده یک سیستمی دارم مینویسیم که برای یه بخش نیاز دارم از چند تیبل اسم هایی که به صورت id در یک تیبل زدم رو در بیارم . mysql
مثال
table post
ID num1ID num2ID num3ID num4ID
1 1 1 1 1
num1 table
ID NAME
1 اسم
و الی آخر
آیا برای اینکه این مورد رو انجام بدم و تک تک اسم های اون تیبل پست رو از الباقی تیبل ها خارج کنم left join بهتر هست یا مولتی کوئری ؟ هم از نظر سرعت و هم از نظر منابع سرور
دقت کنید تعداد تیبل ها زیاد هست + اینکه ممکنه از یک تیبل دو خط ( دو اسم ) رو بخوام دربیارم
-
-
January 25th, 2018 15:28
# ADS
-
January 25th, 2018, 15:33
#2
عضو جدید
پاسخ : left join یا چند کوئری ؟
صد در صد left join بهتر از چند کوئری هست و سرعت بیشتری داره
-
تعداد تشکر ها ازErbHosting به دلیل پست مفید
-
January 25th, 2018, 15:40
#3
پاسخ : left join یا چند کوئری ؟

نوشته اصلی توسط
ErbHosting
صد در صد left join بهتر از چند کوئری هست و سرعت بیشتری داره
حتی در حالتی که از چند جدول مختلف قرار هست چیز های مخلفی ایکوال بشه و بعد خارج بشه ؟ در حالی که در مولتی کوئری میتونم فقط با آی دی اون هارو به دست بیارم ؟
-
-
January 25th, 2018, 17:07
#4
عضو انجمن
پاسخ : left join یا چند کوئری ؟
اگر تیبل هات با هم در ارتباط باشن که باید از join استفاده کنید
اما اگه تیبلتهات هیچ ارتباطی با هم ندارم باید برای هرکدوم یه کوئری بزنی
join برای زمانی هسست که دو یا چند تیبل با هم در ارتباط هستند
مثل همزمان که تیبل post را میگیره تیبل commonts هم باهاش جوین کنید
-
تعداد تشکر ها ازk-pax به دلیل پست مفید
-
January 25th, 2018, 18:25
#5
عضو جدید
پاسخ : left join یا چند کوئری ؟

نوشته اصلی توسط
hoka
حتی در حالتی که از چند جدول مختلف قرار هست چیز های مخلفی ایکوال بشه و بعد خارج بشه ؟ در حالی که در مولتی کوئری میتونم فقط با آی دی اون هارو به دست بیارم ؟
بله
اگر آیدی مشترک داری بهترین راه هست
-
تعداد تشکر ها از ErbHosting به دلیل پست مفید
-
January 25th, 2018, 19:30
#6
عضو دائم
پاسخ : left join یا چند کوئری ؟
باسلام، ابتدا توضیح دهید چرا Left Join ? مگر سطر پیوند ناپذیر در جدول ها دارید ؟
-
تعداد تشکر ها از T.Toosi به دلیل پست مفید
-
January 26th, 2018, 03:08
#7
پاسخ : left join یا چند کوئری ؟

نوشته اصلی توسط
k-pax
اگر تیبل هات با هم در ارتباط باشن که باید از join استفاده کنید
اما اگه تیبلتهات هیچ ارتباطی با هم ندارم باید برای هرکدوم یه کوئری بزنی
join برای زمانی هسست که دو یا چند تیبل با هم در ارتباط هستند
مثل همزمان که تیبل post را میگیره تیبل commonts هم باهاش جوین کنید
ببینبد ارتباطشون فعلا در این مرحله فقط گرفتن اسم ها از تیبل های مختلف هست با استفاده از آی دی هایی که در تیبل پست وجود داره

نوشته اصلی توسط
ErbHosting
بله
اگر آیدی مشترک داری بهترین راه هست
حتی اگر این لفت جوین خیلی از نظر دستوری سنگین بشه ؟ ( چون از چند تیبل چند خط گرفته میشه و اون خطوط هم خودشون باید مساوی باشن با چیز های دیگه ) ولی در اون حالت مولتی کوئری تنها کافیه ایکوال باشه با آی دی ای که بهش میدم .

نوشته اصلی توسط
T.Toosi
باسلام، ابتدا توضیح دهید چرا Left Join ? مگر سطر پیوند ناپذیر در جدول ها دارید ؟
متوجه سطر پیوند ناپذیر نشدم در صحبتتون . توضیح میفرمایید ؟
-
-
January 26th, 2018, 22:40
#8
پاسخ : left join یا چند کوئری ؟
-
-
January 27th, 2018, 00:19
#9
عضو جدید
پاسخ : left join یا چند کوئری ؟

نوشته اصلی توسط
hoka
حتی اگر این لفت جوین خیلی از نظر دستوری سنگین بشه ؟ ( چون از چند تیبل چند خط گرفته میشه و اون خطوط هم خودشون باید مساوی باشن با چیز های دیگه ) ولی در اون حالت مولتی کوئری تنها کافیه ایکوال باشه با آی دی ای که بهش میدم .
شما برای اینکه متوجه شید کدوم بهتره مدت اجرا رو تست کنید
ببینید کدوم زودتر اجرا میشه
ولی در کل جوین کردن سرعت اجرای کوئری رو بهتر می کنه تا اینکه چند تا کوئری مختلف بزنید
-
تعداد تشکر ها از ErbHosting به دلیل پست مفید