1)
Select /*+ INDEX(a INDEX_1) */ a.QTY
from TABLEA a
Where a.COLUMN = 02505318 ; -- INDEX 사용 문자열 Type 칼럼에 숫자로 입력
ERROR:
ORA-01722: invalid number
********************************************
2)
Select /*+ INDEX(a INDEX_1) */ a.QTY
from TABLEA a
Where a.COLUMN = '02505318' ; -- INDEX 사용 문자열 Type 칼럼에 문자로 입력
QTY
----------
1
1
1
1
1
********************************************
3)
Select a.QTY
from TABLEA a
Where a.COLUMN = 02505318 ; -- INDEX 사용하지 않고 문자열 Type 칼럼에 숫자로 입력
QTY
----------
1
1
1
1
1
a.COLUMN 은 CHAR(8) Type 입니다.
9i 에서는 정상적으로 5개의 row 가 select 되는데
11g 에서는 index 사용 유무와 quotationmarks 사용 유무에 따라 심각한 결과를 초래합니다.
위와 관련해서 방대한 양의 프로그램 소스를 모두 일일이 check 를 해야 하는데
11g 의 option paramter 로 간단히 해결할 수 있는 방법이 없나요?
답변 기다립니다.
건승하세요. |