PDA

View Full Version : سوال در مورد ساخت دیتا از روی دیتا (metadata)



Sepidar
یک شنبه 31 اردیبهشت 1385, 08:22 صبح
فرض کنید تو یه دیتا بیس 2 تا تیبل داریم: تیبل A با فیلدهای a1 و a2 و یه تیبل B با فیلدهای b1 و b2

حالا من می خوام یه ساختاری داشته باشم که بتونه بهم بگه اگه فیلد x از تیبل X شرط C روش برقرار بود، چه دیتایی باید تولید بشه.
مثلا اگه مقدار فیلد a1 از تیبل A بزرگتر از 10 بود، خروجی باید b2*a2 باشه.

این ساختار رو من با ساختن یه سری select و where پیچیده و فرستادن اون به انجینم پیاده کرده ام اما سرعتش پایینه.

کسی ایده ای داره؟

Kamyar.Kimiyabeigi
یک شنبه 31 اردیبهشت 1385, 11:45 صبح
البته یک پیشنهاده شایدم درست نباشه :
شما کارتون با computed column حل نمیشه؟

Sepidar
یک شنبه 31 اردیبهشت 1385, 12:43 عصر
نه اخوی، نمیشه!

AminSobati
یک شنبه 31 اردیبهشت 1385, 14:49 عصر
اگر چه با کمک Index میشه زمان محاسبه رو تقلیل داد، اما شما برای بدست آوردن حداکثر Performance، باید به جای محاسبه فیلد در زمان Query، اون رو در جدول به صورت فیزیکی نگهداری کنید (Denormalization).
بعد از اون به کمک Trigger، زمانیکه مثلا b1 و b2 تغییر میکنند، مقدار فیلد جدید رو Update کنید.