ورود

View Full Version : سوال: طول کشیدن max و min (خیلی فوری)



alireza.tabesh
دوشنبه 27 بهمن 1393, 12:30 عصر
سلام
من جدولی دارم که هنگام گزارش گیری از دو فیلد CallDate و Duration استفاده می کنم . وقتی بدون در نظر گرفتن CallDate میخوام max و min میگیرم از duration خیلی سریع انجام میشه و لی وقتی یک where براساس CallDate میزارم خیلی طول میکشه .
لازکم به ذکر که برای هردو فیلد index گذاشتم و تعداد رکوردهام حدود 2 میلیون تا هست .

چه کاری برای سریع تر شدنش می تونم بکنم ؟

یک index برای هردو فیلد برام امکان پذیر نیست چون در گزارش های مختلفی از CallDate استفاده می کنم بدون اینکه حرفی از Duration باشه .

golbafan
دوشنبه 27 بهمن 1393, 12:41 عصر
بر اساس calldate پارتیشن بندی کنید
اگر calldate از نوع متنی است تغییر دهید
از between استفاده شود
از and بجای or استفاده شود

مهدی نان شکری
دوشنبه 27 بهمن 1393, 20:34 عصر
2 میلیون رکورد تعداد زیادی نمی باشد. برای راهنمایی دقیق تر باید کوئری مورد نظر را به همراه Plan اجرایی آن ارسال نمایید. تا بهتر نتیجه بگیرید.
دقت نمایید پارتیشن بندی یک راهکار دو لبه است و بدون آنالیز دقیق پایگاه داده و کوئری های آن توصیه نمی شود چون ممکن است سبب افت کارایی پایگاه داده شود.

alireza.tabesh
سه شنبه 28 بهمن 1393, 10:25 صبح
ممنون از دوستان، با برداشتن Index از Duration و Partition بندی بر اساس CallDate مشکل حل شد .