select * from 사용하는게안좋은 이유가 무엇인가요? 0 1 516

by bigjj [2020.07.09 04:44:31]


제가 들은걸로는 않좋은 이유에.

데이터구조에 변경이 생기면 새로운 속성이 추가 되는데 여기서 속성순서가 바뀔수도 있다. 라고 합니다.

이게 무슨 말일까요? 이게 select * from   이랑 무슨 상관인지.

by 마농 [2020.07.09 10:56:14]

1. 적으신 내용은 PL/SQL 에서의 주의사항이네요.
예를 들면 다음과 같은 구문이 있는 사용자 함수에서
SELECT * INTO v1, v2, v3 FROM dept WHERE deptno = 10;
dept 테이블의 컬럼이 추가되거나 한다면, 위 함수는 사용할 수 없게 됩니다.
만약 다음과 같이 사용했다면? 문제가 없었겠죠.
SELECT deptno, dname, loc INTO v1, v2, v3 FROM dept WHERE deptno = 10;
아니면 dept%rowtype 형태의 변수를 사용하는 방법도 있습니다.

2. PL/SQL 의 문제 말고 성능 관점에서 보면
SELECT * FROM emp WHERE empno = 7788; 를 사용했을 때와
SELECT empno FROM emp WHERE empno = 7788; 를 사용했을 때
실행계획이 달라짐으로 인해 성능이 달라질 수 있습니다.
정렬을 하는 경우 정렬공간이 낭비될 수 있고
네트웍을 통한 패킷 전송량에도 차이가 나게 됩니다.

꼭 필요한 항목만 적어주는 게 여러모로 좋습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입