2013-05-10
SQL] DB2 date 를 milliseconds 로 변환하기.
DB2
=======
select to_number(sysdate - to_date('1970-01-01','YYYY-MM-DD')) * (24 * 60 * 60 * 1000)
FROM sysibm.sysdummy1 ;
ORACLE
========
select to_number(sysdate - to_date('1970-01-01','YYYY-MM-DD')) * (24 * 60 * 60 * 1000)
FROM dual;
2012-10-07
DBMS/오라클] 테이블 리스트 보기
select *
from dictionary
select *
from all_all_tables
select *
from user_tables;
--//현재 사용자 정보
select *
from user_users
--// 사용자 테이블의 이름과 설명.
select *
from user_tab_comments
select *
from user_tab_privs
--// 사용자테이블리스트와 해당 테이블의 컬럼명 및 속성.
select *
from user_tab_cols
select *
from user_tab_columns
select *
from user_tab_col_statics
--// 오라클에서 데이터딕셔너리에서 사용자 테이블의 이름 가져오는 쿼리
select rownum, aat.*
from all_all_tables aat
where aat.owner ='LASADM'
select table_name, column_name, data_type, data_length, nullable, data_default
from cols --// user_tab_columns ==> cols 와 동일
where table_name = 'BL_TB_LAW_CONTRACT_MF'
--// 사용자 테이블의 이름과 설명.
select *
from user_tab_comments
--// 오라클에서 데이터딕셔너리에서 사용자 테이블의 정보 가져오는 쿼리
select rownum, utc.table_name, utc.column_name, utc.data_type, utc.data_length, utc.nullable, utc.data_default, acc.comments
from cols utc --// user_tab_columns utc ==> cols utc 와 동일
join all_col_comments acc
on utc.table_name = acc.table_name
and utc.column_name = acc.column_name
--where utc.table_name = 'BL_TB_LAW_CONTRACT_MF'
2012-09-17
DBMS/SQL] 쿼리문의 속도 향상 시리즈.1
부분범위처리를 사용한다.
부분범위처리란
- 조건을 만족하는 전체집합이 아닌 일부분만을 Access 하게 하는것
- Data량이 많아도 퍼포먼스에는 지장이 없고, 오히려 향상을 가져올 수도 있다.
- 인덱스나 클러스트를 적절히 활용하여 sort를 대체가능하다.
- table은 액세스하지 않고 index만 사용하도록 유도
- exists를 활용한다.
- query를 이원화 하여 일부분씩 scan하도록 유도
- 조건을 만족하는 전체집합이 아닌 일부분만을 Access 하게 하는것
- Data량이 많아도 퍼포먼스에는 지장이 없고, 오히려 향상을 가져올 수도 있다.
- 인덱스나 클러스트를 적절히 활용하여 sort를 대체가능하다.
- table은 액세스하지 않고 index만 사용하도록 유도
- exists를 활용한다.
- query를 이원화 하여 일부분씩 scan하도록 유도
위의 것들을 조합하여 활용하면 쿼리문을 작성하여 대량의 데이터를 처리할 경우에도 무리없이
원하는 속도를 얻을 수 있을 것이다.
원하는 속도를 얻을 수 있을 것이다.
피드 구독하기:
글 (Atom)