Access를 데이터베이스로 사용하는 레거시 애플리케이션을 최적화하려고합니다. 일부 쿼리의 문제는 실행 시간 후에 아무 것도 반환하지 않는다는 것입니다. 조인을 하나씩 추가하여 문제를 파악하려고합니다. 이제는 아무것도 반환하지 않고 영원히 실행하지 않는 쿼리 중 하나가 발생했습니다. SubQueries를 사용하여 데이터를 가져 오는 Left Join을 추가 한 후 쿼리가 이와 같이 동작합니다.
어떤 제안 진심으로 감사하겠습니다 ..액세스 쿼리가 영원히 실행됩니다.
0
A
답변
1
집계 된 열 (MaxOfColumn
)에 연결하는 것이 효과가 없을 수 있습니다.
제안 : [qry Aggregate Query]
의 결과를 임시 테이블에 삽입하십시오. 문제가되는 쿼리 대신 해당 테이블에 가입하십시오.
미리 SELECT INTO 쿼리를 사용하거나 이전의 임시 테이블을 삭제하거나 INSERT INTO 쿼리를 사용하여 미리 임시 테이블을 비울 수 있습니다.
당신이 원칙적으로 작업이 있으면
편집, 내가 추가 쿼리 (INSERT INTO) 대신 테이블 만들기 쿼리를 사용하는 것이 좋습니다.
따라서 임시 테이블을 그대로 유지하고 JOIN에 사용하는 필드에 인덱스를 추가하여 성능을 더욱 향상시킬 수 있습니다.
메인 쿼리를 열려면 다음 VBA에서 수행' Empty temp table
CurrentDb.Execute "DELETE * FROM Temptable"
' Run Append query
CurrentDb.Execute "NameOfYourAppendQuery"
' Open main query
DoCmd.OpenQuery "MainQuery"
1
를 추가해보십시오 인덱스를 테이블에 이러한 열에 :
[tbl ASDT P1T_AGENT_STAFF] - (STF_END_EFF_DT)
[qry List ASDT tbl ASDT P1T_AGENT_STAFF Active MAX END DATE] - (maxOfSTF_END_EFF_DT)
당신도이 열을 사용하지 않는 것처럼, 당신은 이미 maxOfSTF_END_EFF_DT
에 사용할 수있는 것이 보이지만 , 왜이 테이블에 가입해야합니까 ??
관련 문제
- 1. MySQL 쿼리가 영원히 실행됩니다.
- 2. 남은 쿼리가 영원히 계속 실행됩니다.
- 3. SP가 영원히 SSIS에서 실행됩니다.
- 4. Gradlelw가 영원히 실행됩니다
- 5. 프로그램은 영원히 동안 실행하지만이 코드 영원히 실행됩니다
- 6. R의 이미지 함수가 영원히 실행됩니다.
- 7. Matlab dir()이 영원히 실행됩니다.
- 8. SQL 쿼리가 느리게 실행됩니다.
- 9. 쿼리가 더 빠르게 실행됩니다.
- 10. mysql 쿼리가 루트로 실행됩니다.
- 11. 입력을 기다리지 않고 C++ 루프가 영원히 실행됩니다.
- 12. HSQL 간단한 하나의 열 업데이트가 영원히 실행됩니다.
- 13. Eclipse가 프로그램 실행 중간에 영원히 실행됩니다.
- 14. For loop in R은 영원히 실행됩니다.
- 15. 뷰어 보고서, 보고서가 생성됩니다. 영원히 실행됩니다!
- 16. Android Studio Gradle 빌드가 영원히 실행됩니다.
- 17. WHERE 절에서 변수를 사용하면 쿼리가 영원히 지속됩니다.
- 18. MySQL 쿼리가 너무 오래 실행됩니다.
- 19. 자동 삭제 쿼리가 CakePHP에서 실행됩니다
- 20. SSRS sql 쿼리가 느리게 실행됩니다.
- 21. Wordpress 쿼리가 두 번 실행됩니다.
- 22. LINQ 외래 키로 쿼리가 실행됩니다.
- 23. mysql 모순 쿼리가 동시에 실행됩니다.
- 24. MySQL 쿼리가 매우 느리게 실행됩니다.
- 25. 서브 쿼리가 영원히 남는 MySQL UPDATE 쿼리
- 26. MS 액세스 MS 액세스 2010 년 영원히
- 27. 쿼리가 성공하더라도 JQuery ajax 오류 함수가 실행됩니다.
- 28. 또는 명령문이있는 SQL 쿼리가 너무 오래 실행됩니다.
- 29. Entity Framework 5 쿼리가 느리게 실행됩니다.
- 30. onLoadFinished의 열을 업데이트하면 쿼리가 무한하게 실행됩니다.
@Lara : 독서를하고 시험해보십시오. 그렇게 어렵지 않습니다. 쿼리 유형 : http://www.fmsinc.com/tpapers/queries/#Action_Queries '[qry List ASDT tbl ASDT P1T_AGENT_STAFF 액티브 MAX END DATE]의 복사본을 만들어 ** Make Table ** 쿼리로 변경하십시오. 그것을 실행하십시오. 대신 기본 쿼리에서 결과 테이블을 사용하십시오. – Andre
Andre.I 링크를 만들어 주셔서 감사합니다. 쿼리에서 Make Table.Now를 실행합니다. LEFT JOIN [MakeTableName] ON [tbl ADW] .H10_STAFF_PARTY_ID = [MakeTableName] .STF_STAFF_PARTY_ID)'와 같은 조인을 수행해야합니까? 올바른 방법인가요? – Lara
@Lara : 예, 현재 [[Qry List ASDT tbl ASDT P1T_AGENT_STAFF 액티브 MAX END DATE]'가 있으면,'[MakeTableName]'으로 대체하십시오. – Andre