نوشته شده توسط
vahid-p
به نظرم آره باید دوباره همشون محاسبه بشن. چون شما viewتون رو شرطی بر اساس تاریخ خاصی ساختید. اگر اینطور نبود و همه تاریخ ها در اون view وجود داشته باشه خب فقط یک select میشه.
اما به نظرم اینجا درست نیست از view استفاده کنید اگر لازمه برای select هربار view آپدیت بشه. اگر view جوری بود که فقط برای insert/delete/update نیاز به آپدیت داشت و همچنین این عملیات ها تعدادشون به نسبت کم باشه و select باعث تغییر view نشه به نظرم خوبه. ولی اینجا نه. چون view ساختن هم خودش هزینه بره به هر حال.
به نظرم یا بد جدولتون رو طراحی کردید و خیلی اطلاعات رو از هم جدا کردید و هزینه join رو بالا بردید، یا هم اگر راه دیگه ای نیست باید سعی کنید یکم selectهاتون محدود کننده تر باشه. اول هم از جایی شروع کنید که خروجی select کمترین تعداد رو داشته باشه. البته خود دیتابیس ها اکثرا یکسری بهینه سازی دارن و حدس میزنن خروجی چه selectهایی کمتره و اگر بشه اونا رو زودتر انجام میدن.