DB
-
ORACLE[ROWNUM]DB/Oracle 2008. 12. 17. 14:22
ROWNUM은 ORDER BY 보다도 먼저 실행되므로.. SELECT T_IDX FROM TBLWORLDPRODUCTPAGE1 WHERE ROWNUM < 11 이런식으로 생성하면 되지 않는다.정상적인 결과값을 반영하지 않음.. 그래서 밑에 있는 식으로 해야함...서브쿼리...(이게 왠 낭비야...ㅡㅡ;) Select * from (SELECT T_IDX FROM TBLWORLDPRODUCTPAGE1 ORDER BY T_IDX) WHERE ROWNUM < 11
-
-
..조인과 하위쿼리..DB/Ms.SQL 2007. 8. 21. 00:13
..일반적인 상황에서는(아주 평범한 과정) 하위쿼리를 사용하는 것이 조인을 사용하는 것보다 성능상 유리하다. ..하지만 이러한 상황에서는 각각 틀릴수가 있다.. - 상황1. 하위쿼리에서 반환하는 값이 외부쿼리에 있는 모든 행에 대해 동일하다. - 답변 미리쿼리한다.변수를 선언하고 필요한 값을 변수로 선택한 다음 하위쿼리를 한번만 실행하도록 하여 그 결과를 외부 테이블에 전달한다. - 상황2. 양쪽 테이블이 모두 작다(레코드의 수가 10,000개 이하이다.) - 답변 하위쿼리를 사용한다.정확한 이유는 말하기 힘들지만 여러 테스트를 해본 결과가 그렇다.조회와 조인의 성능차이 대문으로 보인다. - 상황3. 모든 조건에 맞는 하나의 값을 반환한다. - 답변 하위 쿼리. 하나의 레코드를 찾는 것이 전체 테이블을 ..
-
..SQL SERVER가 자동으로 저장 프로시저의 실행계획을 다시 작성하는경우..DB/Ms.SQL 2007. 8. 20. 14:53
- 프로시저의 실행환경이 프로시저의 생성환경과 다른 경우 - 프로시저가 참조하는 오브젝트에 대한 sysobjects 테이블의 schema_var 컬럼이 변경된경우.schema_ver 컬럼과 base_schema_ver컬럼은 테이블의 스키마 정보가 변경될 때 업데이트 된다.테이블 스키마 변경에는 컬럼 추가 및 제거, 데이터 타입 변경, 제약 조건 추가 및 제거, Rule바인딩, default바인딩 등이 포함된다. - 프로시저가 참조하는 오브젝트에 대한 통계가 변경된 경우. 즉.auto-update statistics와 auto-create statistics이벤트로 인해 저장 프로시져가 재컴파일될 수 있다는 것을 의미한다. - 프로시저의 실행 계획이 참조하는 인덱스가 제거된 겨우 - 프로시저의 실행 계획의..