PDA

View Full Version : Divide and conquer strategy for query optimization



georgiaro
چهارشنبه 24 فروردین 1390, 00:08 صبح
سلام به تمامی دوستان
از دوستا کسی نحوه پیاده سازی استراتژی تقسیم-حل رو برای Query optimization تو SQLs بلده؟
ممنون میشم راهنماییم کنین.
راستش یه کمی هم فوریه.

محمد سلیم آبادی
چهارشنبه 24 فروردین 1390, 23:35 عصر
ابتدا میتونین به دوستان توضیح بدین که این استراتژی دقیقا چی هست و چطوری از استراتژی تقسیم و حل برای بهینه کردن کوئری استفاده می شه از نظر نظری؟ تا بعد به سراغ پیاده سازیش رفت.

georgiaro
پنج شنبه 25 فروردین 1390, 00:28 صبح
تا اونحایی که من فهمیدم اینطوریه که یک کویری رو از قسمت join میشکنه و بعد با استفاده از تکنیکهای Query optimization بهینش میکنه.
شبه کد استراتژی داینامیک رو واسه بهینه سازی کویری رو میزارم.


procedure findbestplan(S)

if (bestplan[S].cost ¹¥)
return bestplan[S]
// else bestplan[S] has not been computed earlier, compute it now
for each non-empty subset S1 of S such that S1 ¹S
P1= findbestplan(S1)
P2= findbestplan(S - S1)
A = best algorithm for joining results of P1 and P2
cost = P1.cost + P2.cost + cost of A
if cost < bestplan[S].cost
bestplan[S].cost = cost
bestplan[S].plan = “execute P1.plan; execute P2.plan;
join results of P1 and P2 using A”
returnbestplan[S]



حالا باید همین کار رو با تقسیم و حل انجام داد

georgiaro
پنج شنبه 25 فروردین 1390, 00:33 صبح
اینم اسلاید های دکتر نقیب زاده واسه این بخش.
اگر کسی چیزی ازش فهمید به ما هم بگه.