안녕하세요,
특정테이블을 select 할 때 조건에 맞는 데이터 유무를 체크하고 싶습니다.
제 생각엔 (2번방법) 전체테이블을 읽어와서 sy-sybrc 로 체크하는것보다
한건만 읽어와서 (1번방법) 데이터가 있는지를 체크하는게 더 빠를거라 생각하는데
실제 속도를 비교해보니 2번방법은 2분, 1번방법은 10분이 걸리더라구요.
왜 전체테이블을 읽어오는게 더 속도가 빠른건지 궁금합니다.
그리고 이방법외에 더 좋은방법이 있으면 추천부탁드려요 ^^
1.
select * up to 1 rows
into corresponding fields of table IT_AAA
from BBB
where 조건 .
OR
select single *
into correspoiding filed of IT_AAA
from BBB
where 조건.
2.
select *
into corresponding fields of table IT_AAA
from BBB
where 조건 .
셀렉트가 한번만 일어난다고 가정했을때는 select single이 당연히 가장 빠릅니다.
전체 로직을 확인하지 않으면 시간 차이가 왜 나는지 확인이 어려울 것 같네요(loop 내에서 select 사용 등)