테이블 반환 함수가 2가지가 있는데 댓글에서 했던 것처럼 2번 형식과 단순 select (view 하고 같네요) 있던데요

아래 내용처럼 2번방식으로 하면 속도면에서 안좋은 결과가 되나요?

 

1. inlene TVF 는 질문자 님께서 사용한 방식을 말하며, parameterized view 와 동일하며,

2. multi-statement TVF 는 Table 변수를 지정하고, 여러 문장으로 나눈 while 이라던지 필요한 연산을 하고 결과값을 table 변수에 넣어서 출력 합니다. 그럼 성능이 좋을까요? 성능이 좋을리 없겠죠 table 변수는 통계정보가 없기 때문에, SQL 엔진은 cadinality 정보를 얻어 optimize 과정에서 효율화를 못하게 됩니다. 상대적으로 비효율적인 플랜은 나쁜 성능으로 이어지기도 합니다. 고의로 이러한 과정이 필요한 경우도 있을 것이고 그것이 성능이 좋아지는 경우도 있겠지만 이 두 차이를 이해하신다면, 경우에 따라서 어떤것을 써야 할 지 선택 할 수 있으리라 봅니다.

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 451
7390 SQL Server Management Studio Express 에서 csv 파일 내보내기(백업하기) 기능 질문 주인님아 2013.11.29 6197
7389 MSSQL 자체에서 사용자 정보를 알고 싶습니다. [2] 아네사 2013.11.29 3971
7388 SQL2005 데이터내보내기 도와주세요 ㅜㅜ [3] 오장석 2013.11.29 4728
7387 Where 절에 사용자 정의 함수가 포함된 구문에서 질문드립니다. 김락중_278785 2013.11.28 3721
7386 기간 데이타 출력시 전 데이타 같이 출력 [2] 냥냥 2013.11.28 18169
7385 SQL 계정의 최종 로그인 시점을 알수 있을까요? [2] 수노 2013.11.28 4970
» 건우아빠님 마지막으로 하나만 더 물어보겠습니다. [3] 김락중_278785 2013.11.28 22303
7383 건우아빠님 하나만 더 물어보겠습니다. [2] 김락중_278785 2013.11.28 3617
7382 쿼리에 함수를 이용중 궁금한것이 있습니다. [1] 김락중_278785 2013.11.28 3717
7381 중복에 대한질문입니다 [2] 마에스트로 2013.11.28 3607
7380 문자열을 datetime으로 변환 질문입니다. [3] 바람의취객 2013.11.28 14339
7379 express 툴킷 설치때문에 문의 드립니다. [1] 샤바랄라 2013.11.27 4951
7378 Varchar(max)에 들어있는 xml 내용 replace [2] 레프 2013.11.27 4912
7377 데이터를 삭제 할때 TRUNCATE와 DELETE의 차이를 알고 싶습니다. 호짱 2013.11.27 5209
7376 월별 또는 일별 tansaction count 를 조회하는 방법 나파파 2013.11.27 18032
7375 SQL의 CONVERT 구문을 오라클로... [1] 정지홍_308123 2013.11.26 25422
7374 mssql cast vs str performance [4] 엘리엘1 2013.11.26 6248
7373 다른테이블로 값을 복사할때 순번을 적용시키고자 합니다. [3] taz2315 2013.11.26 5286
7372 between 질문입니다. [2] 거저먹네 2013.11.25 16525
7371 2005->2012 linked server [5] taz2315 2013.11.25 11565





XE Login