프로그램 개발시 절대 빠지지 않는 것이 데이터를 저장하기 위한 DB이다.
DB의 사용을 위해서는 쿼리를 작성해서 사용하게 되는데 여기서 한가지 팁
다음 쿼리의 차이는?
[전제조건 : USERS 테이블의 컬럼은 ID, PW, MEMO 3개]
이상 네개의 쿼리는 쿼리를 실행했을때 결과값은 동일하다.
하지만 내부적인 실행 과정은 다르다.
오라클 쿼리를 실행할때 내부적으로는 소문자 쿼리를 대문자 쿼리로 변환하게 된다.
따라서 1,2의 경우에는 3,4처럼 대문자로 변환하는 쓸데없는 과정이 한번 더 수행되게 된다.
또한 *로 쿼리를 짜게되면 전체의 쿼리를 찾아서 가져오는 과정이 추가 되므로
그에 해당하는 추가 수행과정이 생긴다.
가능한 가져올 쿼리를 직접 명시하는 것이 좋다.
DB의 사용을 위해서는 쿼리를 작성해서 사용하게 되는데 여기서 한가지 팁
다음 쿼리의 차이는?
[전제조건 : USERS 테이블의 컬럼은 ID, PW, MEMO 3개]
1. select * from users where id = '1234'
2.select id, pw, memo from users where id='1234'
3.SELECT * FROM USERS WHERE ID='1234'
4.SELECT ID, PW, MEMO FROM USERS WHERE ID='1234'
2.select id, pw, memo from users where id='1234'
3.SELECT * FROM USERS WHERE ID='1234'
4.SELECT ID, PW, MEMO FROM USERS WHERE ID='1234'
이상 네개의 쿼리는 쿼리를 실행했을때 결과값은 동일하다.
하지만 내부적인 실행 과정은 다르다.
오라클 쿼리를 실행할때 내부적으로는 소문자 쿼리를 대문자 쿼리로 변환하게 된다.
따라서 1,2의 경우에는 3,4처럼 대문자로 변환하는 쓸데없는 과정이 한번 더 수행되게 된다.
또한 *로 쿼리를 짜게되면 전체의 쿼리를 찾아서 가져오는 과정이 추가 되므로
그에 해당하는 추가 수행과정이 생긴다.
가능한 가져올 쿼리를 직접 명시하는 것이 좋다.
'Windows Developer > Oracle' 카테고리의 다른 글
[Oracle] NON-EQUJOIN (0) | 2011.01.07 |
---|---|
[Oracle] EquJoin (0) | 2011.01.07 |
[oracle] 프로시져 생성 및 in, out, in out 파라미터 (0) | 2011.01.04 |
[Oracle] 테이블 생성 및 테이터 삽입 (0) | 2010.12.22 |
[My-SQL] 기본 쿼리문 (0) | 2010.09.18 |