נסיון

arielRuuubi

New member
והשאלה היא

ALTER procedure [dbo].[SP_Site_Select_Schedule_Weekly_All_Channels_By_Day]
@FixDate as varchar(8)
as

--declare @FixDate as varchar(8) = '20130701'

SELECT ce.SCHEDULE_ITEM_ID,
SCHEDULE_DATE,
SCHEDULE_DATE as FixDate,
CHANNEL_CODE,
ISNULL(HebrewName,EnglishName) AS HebrewName,
ISNULL(RussianName, EnglishName) AS RussianName,
EnglishName,
START_TIME,
START_TIME_FIX,
END_TIME_FIX
FROM Content.dbo.Content_Schedule_fix_date_for_TvGuid cs,
Content.dbo.Content_ENG ce
WHERE ce.SCHEDULE_ITEM_ID = cs.SCHEDULE_ITEM_ID
and CONVERT(DATE, SCHEDULE_DATE) >= CONVERT(DATE, @FixDate)
and CONVERT(DATE, SCHEDULE_DATE) < DATEADD(DD, 7, CONVERT(DATE, @FixDate))
and START_TIME < '24:00:00'

union

SELECT ce.SCHEDULE_ITEM_ID,
SCHEDULE_DATE,
CONVERT(varchar(8), DATEADD(DD, 1, CONVERT(DATE, SCHEDULE_DATE)), 112) as FixDate,
CHANNEL_CODE,
ISNULL(HebrewName,EnglishName) AS HebrewName,
ISNULL(RussianName, EnglishName) AS RussianName,
EnglishName,
START_TIME,
START_TIME_FIX,
END_TIME_FIX
FROM Content.dbo.Content_Schedule_fix_date_for_TvGuid cs,
Content.dbo.Content_ENG ce
WHERE ce.SCHEDULE_ITEM_ID = cs.SCHEDULE_ITEM_ID
and CONVERT(DATE, SCHEDULE_DATE) >= DATEADD(DD, -1, CONVERT(DATE, @FixDate))
and CONVERT(DATE, SCHEDULE_DATE) < DATEADD(DD, 6, CONVERT(DATE, @FixDate))
and START_TIME >= '24:00:00'


order by FixDate, START_TIME_FIX ;
 

arielRuuubi

New member
למעלה הקוד, עכשיו השאלה

סליחה על כל הבלאגן אבל תפוז לא נתן לי לשלוח הכל במכה אחד

אני צריך לשפר יעילות והשאילתא הזו לוקחת הרבה זמן, האם יש לכם כיוונים?

תודה, אריאל
 

pitoach

New member
כמובן

תריץ את השאילתה הבאה ותקבל תוצאה מהירה יותר
select 1

* כמובן אם יש לך צורך בקבלת תוצאות מסויימות אז כיצד אנחנו יכולים לנחש זאת? כיצד אפשר לדבר על מיטוב שאילתה, כשאנחנו בכלל לא מכירים את מסד הנתונים שלך?!? אם יש לך 2שאילתות שהראשונה רצה מהר בשרת A והשנייה לאט אז בשרת B התוצאות יכולות להיות הפוכות לחלוטין!

האם אתה יודע לעבוד עם תוכניות הרצה של השרת SQL? נסה לתת לנו רקע מעט על הידע שלך כדי שנוכל להתאים את התשובה לכך


בנוסף אם אתה רוצה תשובה אתה צריך לספק נתונים על מסד הנתונים הספציפי שלך. נתונים על מבנה האלמנטים הקשורים לטבלה והנתונים עצמם. מה שטוב ל 10 רשומות יכול להיות גרוע למליארד רשומות והפוך מה שטוב למליארד רשומות יכול להיות גרוע ל 10 רשומות. יותר מכך מה מה שטוב לקונפיגורציה אחת לא טוב לאחרת... כיצד אתה ניגש למסד הנתונים (למשל גישה בדוט נט קובעת בברירת המחדל מאפינים שונים מאוד מגישה ישירה מה SSMS). אנא ספק לנו DDL+DML לשם התחלה וספר לנו עוד על המערכת שלך.

* אני אנסה להגיע לכאן שוב בהקדם... אם לא אזכור/אצליח ועדיין לא תקבל תשובה אחרת, אז נמתין אולי לסוף השבוע.
 

גרי רשף

New member
יש לך אינדקסים? אילו?

זה המפתח לשיפור היעילות.
גם אם כן - ביטויים כמו (CONVERT(DATE, SCHEDULE_DATE עלולים למנוע מהמערכת להשתמש באינדקסים באופן יעיל.
קשה לתת תשובה רק מלהתבונן בשליפה..
 
למעלה