2009-08-29 3 views

답변

4

내 생각 엔 당신이 외부 키에 대해 얘기하고 있다는 점이다. 이는 참조 무결성이라고도하며 constraint 중 하나입니다. 외래 키가 유일한 제약 조건이 아니며, 고유 한 제약 조건과 검사 제약 조건을 가질 수 있습니다. 어쨌든, 참조 무결성은 insert에 대해 약간 느리고 select에 대해서는 전혀 빠르지 않습니다.

이유는 그들이 다른 테이블에 존재하도록 insert ED 값을 확인한다는 것이다. 당신이 select 쿼리의 성능을 개선하려면

, 당신은 당신이 가입됩니다 컬럼에 인덱스를 넣어 필터링 할. 그들은 insert의, update S 및 delete의 속도를 느리게으로 인덱스가 때마다 같은 테이블 변경 사항을 업데이트해야하기 때문에, 지수, 비용에 와서 않습니다.

따라서 테이블의 볼륨이 큰 경우 insert/update, 너무 많은 인덱스를 추가하지 마십시오. 표가 주로 select 인 경우 가능하면 색인을 사용하십시오. Database Engine Tuning Advisor은 가장 일반적인 조회에 대한 색인을 정의하는 데 도움을 줄 수 있습니다.

당신이 무엇을하고 있는지 SQL 서버 볼 수 있도록 (SSMS에서 Ctrl 키 + L) 쿼리를 실행할 때 쿼리 실행 계획을 사용해야합니다. 가능한 한 많은 수를 seek으로 지정하면 인덱스를 가장 효율적으로 사용할 수 있습니다.

3

테이블 관계가 정의 된 경우 SQL이 빠르지 않습니다.

인덱스 성능을 향상; 참조 무결성 (테이블 관계)은 비즈니스 요구 사항에 따라 데이터 품질을 보장합니다.

+1

+1 그리고 종종 데이터 무결성 (RI 적용)이 훨씬 더 중요한 속도입니다! 내가 정말로 당신에게 틀린 대답을 정말로 준다면 그것은 좋은 것이 무엇입니까 ?? –

관련 문제