아래쪽에 Order By 절이없는 00:00:00 초의 실행 시간을보고하는 왼쪽 결합 SQL 쿼리 (2012)가 있습니다. "Order By"를 추가하면 쿼리가 00:00:24 초가됩니다!SQL Server는 주문과 함께 왼쪽 BY :
정상입니까?
꽤 기본적인 개념을 여기에서 빠뜨린 것이 분명하지만 쿼리를 수행 한 다음 결과를 정렬한다고 가정합니다. 분명히 이것은 사실이 아닙니다, 제발 누군가가 올바른 방향으로 나를 가리킬 수 있습니까?
조금 다른 정보 : 내가 합류하는 두 테이블에는 각각 약 35,000 개의 행과 22,000 개의 행이 있습니다. 날짜 범위를 선택하고 두 개의 문자열에서 왼쪽 조인이 발생했습니다. 결과 세트는 300 - 400 개의 결과입니다. 나는 문자열을 비교하는 엄중 한 처벌이 있다는 것을 알고 있으며, 나는 그것이 문제의 일부라고 추측하고 있습니다.
DECLARE @mystartdate as datetime
SET @mystartdate = CAST(CAST((GETDATE() - 0) AS date) as nvarchar) + ' 06:00:00'
DECLARE @myenddate as datetime
SET @myenddate = CAST(CAST((GETDATE() + 1) AS date) as nvarchar) + ' 05:59:59'
SELECT SUBSTRING(CAST([Event_Time] AS nvarchar),0,9) AS mytime
,[CombinedDateTime]
,[MediaFileName]
,[Duration]
,[High_Definition]
FROM [dbo.schedules]
LEFT JOIN dbo.subtitles
ON REPLACE(SUBSTRING(dbo.subtitles.sub_filename, 1, LEN(dbo.subtitles.sub_filename) -4), '-', '') = REPLACE(dbo.schedules.MediaFileName,'/','')
WHERE [CombinedDateTime] >= @mystartdate AND [CombinedDateTime] <= @myenddate
Order by CombinedDateTime
감사
SQL을 게시 할 수 있습니까? –
"이게 정상입니까?" 그것은 정말로 달려 있습니다. 'ORDER BY' 절은 무엇입니까? 관련된 데이터 유형은 무엇입니까? 쿼리를 지원할 수있는 인덱스가 있습니까? 분명히 그것은 데이터 양과는 아무런 관련이 없지만 원하는 순서에 따라 도입 된 정렬 작업입니다. 우리는 더 이상의 세부 사항 없이는 그것에 대해 언급 할 수 없다! –
안녕하세요, SQL을 추가했습니다. 감사합니다. – pugu