목록DB/Oracle (37)
IT'S YU

SELECT * FROM TABLE ORDER BY `sortNum` 이렇게 했을 때 저렇게 결과가 나왔습니다. 원래대로라면 1, 2, 3... 이렇게 되어야 하는데 말이지요. 해당 칼럼 타입을 보면 char, varchar 이런 걸로 되어 있을 겁니다. 가장 좋은 방법은 해당 칼럼 타입을 int 혹은 tinyint 이런 걸로 바꾸면 됩니다. 그런데 칼럼 타입 변경을 마음대로 할 수 없는 경우엔 형 변환을 하면 됩니다. SELECT * FROM TABLE ORDER BY CAST(`sortNum` AS unsigned) 출처 : https://nyaongnyaong.com/25
다른사용자의 테이블을 가져오기 CREATE PUBLIC SYNONYM 테이블 FOR 아이디.테이블 이렇게 하지않으면 항상 FROM.아이디.테이블 로 사용해야한다. 종류에는 PRIVATE 와 PUBLIC 이 있다. 출처: https://blog.naver.com/bk6717/221886382035 다른사용자의 테이블을 가져오기. 이렇게 하지않으면 항상 FROM.아이디.테이블 로 사용해야한다. 종류... blog.naver.com

SQL은 3가지 실행계획을 거처 실행된다. SQL 파싱: SQL 구문에 오류가 있는지 실행 대상 객체(테이블, 제약조건, 권한 등)가 존재하는지 검사 SQL최적화: SQL이 실행되는데 필요한 시간을 계산 후 어떤 방식이 좋은지 판단 SQL 실행: 계획을 바탕으로 실행 order by 문제 - 실행계획 저 버튼을 누르면 아래와 같이 실행 계획을 볼 수 있다. 실행계획은 OPERATION 행은 안쪽에서 바깥쪽으로, 나머지 행은 위에서 아래로 진행된 것이다. order by로 정렬을 할 수 있지만 order by를 사용하면 정렬에 쓰인 행을 기준으로 정렬을 해야해야 하는 경우가 발생하여 그 행을 모두 스캔하고 정렬하므로 굉장히 시간이 오래 걸린다. 그렇다면 어떻게 해야할까? orderby 보다는 인..

안녕하세요~ 이번에 설명드릴 내용은 오라클 쿼리에서 사용되는 힌트(hint) 입니다. 보통 웹페이지의 목록은 시간의 역순(최신순)으로 정렬된 결과를 보여줍니다. 최신 데이터가 가장 중요하기 때문에, 시간의 역순으로 정렬해서 보여주는데 만약 데이터의 양이 수백만건 이상이고, ORDER BY의 정렬을 통해 처리한다면 과부하가 걸릴 수 있습니다. 따라서 정렬을 안할 수 있는 방법에 대해 고민을 해야합니다. 인덱스, 오라클 힌트(hint) 오라클에서는 SELECT 문을 전달할 때 "힌트(hint)" 라는 것을 사용할 수 있습니다. 힌트는 데이터베이스에 '지금 내가 전달한 SELECT 문을 이렇게 실행해주면 좋겠습니다.' 와 같은 힌트입니다. 즉 실행 명령을 말합니다. 힌트는 SELECT문을 처리..