PDA

View Full Version : سوال: جستجو در چند جدول



roox_3000
پنج شنبه 25 اردیبهشت 1393, 15:18 عصر
با سلام

دوستان من حدود 90 جدول تو دیتا بیس دارم و همه اونا فیلد مشترک name دارن


سوال :

1- من میخوام با یک keyword تو فیلد name همه ی جدول ها رو جستجو کنم , که با این کوئری اینکارو کردم و بخوبی کار میکنه







SELECT id, name, price FROM tbl_1 WHERE name LIKE '%".$k_word."%'
UNION
SELECT id, name, price FROM tbl_2 WHERE name LIKE '%".$k_word."%'
UNION
SELECT id, name, price FROM tbl_3 WHERE name LIKE '%".$k_word."%'
UNION
SELECT id, name, price FROM tbl_4 WHERE name LIKE '%".$k_word."%'




اما من میخوام بدونم کوئری دیگه ای هست که سرعتش بالا تر باشه؟؟؟؟ (با join تست کردم فرق زیادی نمیکنه)

2- من در ابتدای طراحی دیتا بیسم تمام رکوردهای همه جدول هارو تو یک جدول قرار دادم(به خاطر حجم پایین رکوردها در حدود 1500 رکورد) که تنها با یک select روی همون جدول به نتیجه دلخواه برسم اما متوجه شدم با توسعه و حجیم تر شدن اطلاعات دیتا بیسم وجود یک جدول حجیم باعث کند شدن برنامم میشه برای همین تصمیم گرفتم یک جدول را با توجه به موضوع آن به چندین جدول تبدیل کنم ...

آیا این کار کمکی به بهینه شدن و بالا رفتن سرعت میکنه؟؟؟؟

سعید صابری
پنج شنبه 25 اردیبهشت 1393, 22:50 عصر
نوع موتور بانک اطلاعاتی خیلی موثره.اگه از داده های حجیم استفاده می کنید توصیه می کنم از موتور MyIsam استفاده کنید یک سری محدودیت ها داره ولی واقعا سرعتش عالیه.
البته طراحی هم خیلی مهمه .با این دو خط توضیحی که شما دادین نمیشه گفت کاری که کردید درسته یا خیر.باید اطلاعات بیشتری داده بشه تا بشه کمک کرد.