뜬금없는 질문일지도 모르겠지만,
INTERNAL TABLE의 장점으로는 모가 있나요?
참 그리고, SAP에서 OPEN SQL을 주로 사용하는 이유가 있나요? NATIVE SQL도 있는데...
댓글 5
-
activeman
2008.11.20 01:02
-
21airborne
2008.11.20 03:34
답변 감사드립니다.^^
-
아밥퍼
2008.11.20 17:15
native sql 은 기존에 다른 랭귀지를 접해 보셨던 분들은 오라클, MS SQL 등에 좀 익숙하기 때문에
복잡한 query문의 경우 한방에 해결할 수가 있죠
따로 아밥영역에서 인터널 테이블등을 사용해서 가공을 하는 부분이 줄어들죠.
open sql도 내부적으로 실행시 native sql로 변환을 해서 자료를 가져오는 형태입니다.
open sql은 일단 자료를 아밥영역으로 가져와서 인터널 테이블등을 활용해 가공을 해서
결과를 보여주는 형태라고 보시면 될 것 같네요
native sql을 사용해서 조인 한방으로 결과를 가져오는 것과 open sql을 사용해서 아밥영역에서
여러번 가공을 해서 결과를 낸다고 해도 속도면에서 open sql 이 아밥에 최적화 되어 있기 때문에
권장을 한다고 보면 될것 같네요.
native sql을 사용할 때는 query analyzer ( toad ) 등을 사용해서 미리 오류가 없는지 확인하고
실제 적용하시는 게 좋습니다.
그렇지 않고 바로 적용하게 되면 눈으로 봤을 때는 이상이 없는 것 같아 보여도 dump 가 많이
떨어집니다.
open 이든 native 든 자신이 편한 걸 사용하는 게 좋을 것 같습니다.
도움이 되시길...
-
꽃미남
2008.11.20 17:52
윗분들께서 잘 설명을 해주셨는데 한가지만 더 말씀드리자면
OPEN SQL 은 DB 에 독립적이죠..
DBMS 가 오라클이든, MS sql 든 DB2 이든 모든 DBMS 에 사용가능하다는 것도 장점이겠죠...
DBMS 는 현재 거의 오라클을 사용하는 경우가 대부분이고, 오라클에서 MS SQL 로 변경되는 경우는 거의 없겠지만
만약에 그런일이 발생하였다고 가정하면 CBO 로 개발된 프로그램들에서 모든 오라클 NATIVE SQL 을
다시 MS SQL 에 맞도록 검증 및 변환하는 번거로운 작업이 필요하겠죠..
그렇기 때문에 ABAP 프로그램을 작성할때 될수 있으면 NATIVE SQL 사용을 권장하지 않습니다.
-
21airborne
2008.11.20 18:13
답변들 해주셔서 감사합니다.
휴... 부지런히 공부해야겠네요.
즐건 하루들 되세요.