복붙노트

[SQL] 어떻게 테이블 별칭 이름은 성능에 영향을 미치는가?

SQL

어떻게 테이블 별칭 이름은 성능에 영향을 미치는가?

튜닝 SQL 쿼리에 대한 읽는 동안, 나는 '개 이상의 테이블을 사용하는 경우 항상 사용 테이블 별칭과이 별칭을 가진 모든 열 이름을 접두사.'어디 선가 읽고

어떻게 테이블 별칭 이름은 성능에 영향을 미치는가? 아니면 실제로 영향을합니까?

해결법

  1. ==============================

    1.별명은 모든 (편집에 추가 이탤릭체)에서 어떤 실제적인 또는 측정 방법으로 성능에 영향을주지 않습니다. 즉, 그것은 측정 지연 (모든 경우) 쿼리 컴파일에 겨우을 추가합니다. 컴파일 (재 - 사용) 후에는 아무 효과가 없다.

    별명은 모든 (편집에 추가 이탤릭체)에서 어떤 실제적인 또는 측정 방법으로 성능에 영향을주지 않습니다. 즉, 그것은 측정 지연 (모든 경우) 쿼리 컴파일에 겨우을 추가합니다. 컴파일 (재 - 사용) 후에는 아무 효과가 없다.

    당신이에서 오는 테이블 알고 있기 때문에 두 개 이상의 테이블이있을 때 별칭은 모호성을 제거합니다. 또한 쿼리를 깨는에서 미래의 테이블 변경을 방지 할 수 있습니다. 말, 당신은 이미 다른 테이블에 존재 한 테이블에 감사 열을 추가합니다. 휴식 것 두 테이블을 사용하여 별칭없이 조회합니다.

    별명은 또한 예를 들어, 어떤 경우에는 필수입니다 스키마 뷰를 바인딩.

    (을 실행하기 전에 모든 쿼리를 읽고, 빠른 실행을 위해 미래에 컴파일 된 쿼리를 캐시 정보를 사용)를 SQL 구문 분석 엔진은 유일 심볼 조회에 도움을 삭제 모호성에 대한 별칭에서 외모 및 사용을. 이 시스템은 이미이 실행 저장하기 전에 구문 분석 될 때, 다른 모든 언어의 다른 컴파일 가능한 문 같은 기호를 생산한다.

  2. ==============================

    2.거의 모든에서, 성능에 미치는 영향은 무시할 수 있지만, 당신은 훨씬 더 시간이 쿼리를 읽기를해야합니다. 그것은 단지 사용자의 편의를 위해입니다.

    거의 모든에서, 성능에 미치는 영향은 무시할 수 있지만, 당신은 훨씬 더 시간이 쿼리를 읽기를해야합니다. 그것은 단지 사용자의 편의를 위해입니다.

    성능에 미치는 영향은 SQL Server 프로그램 자체 등 저장 별명에 메모리의 몇 킬로바이트를 할당됩니다. 쿼리를 실행하는 데 필요한 작업의 나머지 부분에 비해이 거의 아무것도 아니다.

  3. ==============================

    3.나는 쿼리 걸릴 훨씬 더 많은 시간이 별칭없이 비교 별명을 가진 경험이 있습니다.

    나는 쿼리 걸릴 훨씬 더 많은 시간이 별칭없이 비교 별명을 가진 경험이 있습니다.

    내가 PostgreSQL을 함께이 경험이 내 쿼리는 다음과 같다.

    별칭 없음

    select applicant.application_id, form_data, application_defect.defect_id from applicant INNER JOIN audit_trail on applicant.email = audit_trail.email inner join application_defect on applicant.application_id = application_defect.application_id where application_defect.defect_id like '1%' and form_data like '%FaceApi%' ;  
    

    별명

    select ap.application_id, au.form_data, ad.defect_id from applicant ap INNER JOIN audit_trail au on ap.email = au.email inner join application_defect ad on ap.application_id = ap.application_id where ad.defect_id like '1%' and form_data like '%FaceApi%' ;
    
  4. from https://stackoverflow.com/questions/8363108/how-does-table-alias-names-affect-performance by cc-by-sa and MIT license