안녕하세요.
궁금해서 그러는데요.
Index 를 SAP 상에서 만든 경우와
DB 상에서 만드는 경우가 있습니다.
이 경우 각각의 퍼포먼스는 어떻게 될까요?
동일할거 같지만 제 생각이 조금 달라서요.
OPEN SQL 에도 HINT 라는게 있어서 DB 에 존재하는 INDEX 를 사용할 수 있다는 것과
SAP 상에 없고 DB 에는 있는 것이라면 Index 를 찾는데에 따른 뭔가 다른 절차가 있을 것 같기도하고
일단은 신용하기 어려운 SAP 사에서 비추천한 DB 작업이 이 부분에 해당할 것 같아서 질문 드렸습니다.
고견 부탁드리겠습니다.
댓글 3
-
e-abap
2009.01.29 18:13
-
양키
2009.01.30 00:28
제생각은,
단순히 open sql에서 native sql로 번역하는 첫과정에서 비교한다면 인덱스에 속도적인 측면에서 ORACLE DB가 빠를수있지만
결과적으로 볼때 SAP 버퍼링으로인해서 OPEN SQL의 속도가 빠르지 않을까라는 생각을 해봅니다. 허접한생각이지만..
-
지의
2009.01.30 17:03
답변 감사합니다. 많은 도움이 되었습니다.
조금 더 살펴 봐야 할 문제 같습니다.
새해 福 많이 받으세요.
명절 잘 보내셨지요?
이미 알고 계시겠지만, 제 생각을 정리하자면 다음과 같습니다.
오라클 db에만 존재하는 인덱스 일경우, sap에서 open sql을 날리면 db 인터페이스를 통해 native sql로 번역됩니다.
여기에서 hint가 없으면 오라클 옵티마이저가 적절한 인덱스를 태우겠지요.
sap에서 만든 인덱스도 어차피 오라클에도 만들어지기 때문에 속도는 차이가 없을것 같습니다.
다만, open->navite 번역하는 것과 같은 시간들은 조금 더 걸리겠지요.
그리고 sap은 3tier 구조로 되어 있어서 어플 서버에서 db 서버가 네트웤으로 연결되기 때문에 여기서도 시간을 잡아먹겠지요
인덱스는 dbms에서 제공하는 기능이 더 세부적이다...머 그런...
헷갈리지만,
인덱스는 그렇다 치더라도 foreign key 같은 경우는 sap에서 만들면 abap dic에만 존재합니다.