이것은 바보 같은 질문 일 수 있지만 SQL Server에서 데이터를 검색 할 때 처리되는 내용을 이해하려고합니다. 모호성을 제거하기 위해 인덱싱 된 뷰에서 데이터를 선택한다고 가정 해 보겠습니다.데이터가 SQL Server에서 반환되는 방법
제 생각에 쿼리 최적화 프로그램은 이것을 테이블과 동일하게 취급합니다. 좋아,하지만 호출되는 뷰와 클라이언트로 반환되는 실제 데이터간에 발생하는 단계는 무엇입니까? 데이터는 SQL Sever의 실제 파일 구조에서 검색되며 호출 클라이언트에 반환 될 때 일종의 스트리밍이 발생한다고 가정합니다. 그 중간 단계는 무엇입니까?
이제이보기를 서버에서 직접 호출하는 경우와 일부 원격 클라이언트를 직접 호출하는 경우를 비교해 보겠습니다. 데이터는 어떻게 원격 클라이언트에 반환됩니까? 이것이 ODBC를 통한 것이라고 가정하되, SQL Server 자체는 전송과 상관없이 동일한 방식으로 데이터를 반환합니까? 그러면 결과를 검색 한 다음 클라이언트에 전달하거나 전송 메커니즘을 통해 결과를 다시 스트리밍할까요?
나는 이것이 의미가 있기를 바랍니다. 모든 계발에 미리 감사드립니다! :-)
귀하의 질문에 많은 부분이 포함되어 있습니다. 주로 데이터가 클라이언트로 되돌아가는 방식은 사용하려고 선택한 커서에 따라 다르지만 전송 메커니즘을 기반으로 변경할 수도 있습니다. 나는이 분야의 전문가는 아니지만, 나는 양쪽 모두가 상당히 잘 알고 있지만, 중간에는 그렇지 않다. 나는 그것이 효과가 있다는 것을 알고있다. :) –
미리 컴파일 된 뷰 구조를로드하기 위해 인덱스를 작성하고 분석 한 이후로 적절한 데이터를 제공하기 위해 엔진에 많은 작업을 수행했습니다. 귀하의 질문은 일부 네트워크 enginner에서 좋은 대답을 가질 수 있습니다, 그것은 데이터가 전송되는 방법을 설명 할 수 로컬, 원격, 프로토콜, 레이어 및 모델. 정말 흥미 롭지 만 여러 영역이 혼합되어 있기 때문에 조금 복잡합니다. – Hamikzo
"모호성을 제거하기 위해 인덱싱 된 뷰에서 데이터 선택"나는 인덱싱 된 뷰가 자신이 수행하고 있다고 생각하는 것을 수행하지 않는 것으로 의심합니다. – Hogan