테이블 반환 함수가 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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 1136
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1670
7396 bigint때문에 [1] 마에스트로 2013.12.02 3741
7395 SQL 작성하는 문제의 답을 알고싶습니다. [6] 몰러 2013.12.01 10785
7394 두테이블 비교해서 없는 값을 뽑고싶습니다. 오리지널 2013.11.30 5331
7393 특정 필드의 긴문자열을 여러로우로 분리하기 질문입니다. [3] 유앤미 2013.11.29 5042
7392 MSSQL 대량으로 Insert 할때...... [3] 석호 2013.11.29 31670
7391 트리거 생성시 deleted에서 text 사용하는 방법 없나요? [2] 아네사 2013.11.29 3874
7390 SQL Server Management Studio Express 에서 csv 파일 내보내기(백업하기) 기능 질문 주인님아 2013.11.29 6211
7389 MSSQL 자체에서 사용자 정보를 알고 싶습니다. [2] 아네사 2013.11.29 3984
7388 SQL2005 데이터내보내기 도와주세요 ㅜㅜ [3] 오장석 2013.11.29 4736
7387 Where 절에 사용자 정의 함수가 포함된 구문에서 질문드립니다. 김락중_278785 2013.11.28 3728
7386 기간 데이타 출력시 전 데이타 같이 출력 [2] 냥냥 2013.11.28 18181
7385 SQL 계정의 최종 로그인 시점을 알수 있을까요? [2] 수노 2013.11.28 5025
» 건우아빠님 마지막으로 하나만 더 물어보겠습니다. [3] 김락중_278785 2013.11.28 22315
7383 건우아빠님 하나만 더 물어보겠습니다. [2] 김락중_278785 2013.11.28 3628
7382 쿼리에 함수를 이용중 궁금한것이 있습니다. [1] 김락중_278785 2013.11.28 3729
7381 중복에 대한질문입니다 [2] 마에스트로 2013.11.28 3608
7380 문자열을 datetime으로 변환 질문입니다. [3] 바람의취객 2013.11.28 14504
7379 express 툴킷 설치때문에 문의 드립니다. [1] 샤바랄라 2013.11.27 4957
7378 Varchar(max)에 들어있는 xml 내용 replace [2] 레프 2013.11.27 4921
7377 데이터를 삭제 할때 TRUNCATE와 DELETE의 차이를 알고 싶습니다. 호짱 2013.11.27 5219





XE Login