문제

나는 최근에 많은 DB 리팩토링을 해왔으며 동의어는 엄청나게 유용했습니다. 내가 원래 동의어를 넣었을 때 나는 그들이 리팩터를 리팩터링하는 동안 매우 일시적이라고 생각했다. 이제 나는이 동의어들 중 일부를 유지해야 할 좋은 이유가있을 수 있다고 생각합니다.

  • 누구든지 전체 블로우 추상화 레이어로 사용한 사람이 있습니까?

  • 성능 비용은 얼마입니까?

  • 인덱스가있는 gotchas?

  • 팁이나 요령?

내 첫 번째 질문이 있으니 부드럽게 해주세요.

감사

도움이 되었습니까?

해결책

동의어는 이미 기존 데이터베이스 개체에 대한 추상화/대체 이름이므로 테이블의 경우 인덱스 동작이 기본 개체와 동일합니다. 즉, 실행 계획이 생성 될 때 동일한 계획이 표를 사용하는 것과 상관없이 생성됩니다. 이름 또는 상관 관계 동의어.

다른 팁

실제로 인덱스를 사용할 때 Gotcha를 발견했습니다 ....이 사이트에서 관련 게시물을 만들 수있는 방법이 있는지 확실하지 않지만 여기에 동의어 및 테이블 인덱스가있는 내 문제에 대한 링크가 있습니다.

SQL Server 테이블 인덱스와 동의어

예, 동의어는 추상화 계층 또는 간접 계층으로 사용할 수 있습니다. 예를 들어, 실제 데이터베이스 이름을 런타임까지 알 수없는 외부 데이터베이스에서 객체에 액세스 해야하는 경우. 동의어 이름으로 객체를 참조하는 SQL을 작성한 다음 나중에 동의어를 동적으로 생성 할 수 있습니다.

인덱스 gotchas는 없습니다. 동의어가 테이블 또는 인덱스 뷰를 지칭하는 경우 해당 객체에 정의 된 인덱스가 재생됩니다.

성능은 완전히 자격이있는 이름으로 객체를 명시 적으로 언급하는 것과 동일해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top