아시는 분은 아시리라 생각이 됩니다만 행여나 도움이 될까 해서 이렇게 몇 글자 적습니다.
우리 보통 일련번호를 만들 때면 max(일련번호)를 조회한 후 다음 쿼리를 시작하죠. 이 경우에는 두 번의 SQL 문장이 실행되었으므로 매우 비 효율적이라 할 수 있습니다.
그래서 이 단점을 보완한 것이 decode 문을 이용해서 한번에 처리하는 방법이 나왔습니다. 그러나 이 방법 역시 데이터가 적을 경우에는 상관이 없으나 대량의 데이터가 되면 상황은 완전히 달라지죠. 그 많은 데이터를 grouping 해야 하니까요.
그래서 채번 테이블이라는 것을 구성해서 일련번호가 일정 수준 이상까지는 증가하지 못하도록 구성을 하죠.
* PK 코드 + 구분 + 일련번호로 구성된 테이블이 있다고 하면 쿼리는 아래처럼 되겠죠.
select 최종일련번호 + 1
into :v_주문일련번호
from 주문
where 코드 = '001'
and 구분 = 'off line'
그 후에는 보통 본 테이블에 입력을 하는 쿼리가 오겠죠.
그러나 이것도 여러명의 사용자가 이용할 경우에는 중복에 문제가 있기 때문에 FOR UPDATE를 통한 Lock을 걸어주어야 하므로 결국 잠금으로 인한 부하가 발생할 수 있습니다.
그래서 최종적으로 도출된 것이 인덱스 역방향 정렬을 이용한 채번 방법이라는 것이 있습니다.
/* i_01: 인덱스명 */
insert into 주문(주문일련번호, col2, col3, ...)
select /*+ INDEX_DESC(B i_01) +*/
from 주문 A,
목록 B
where A.주문일련번호 = B.주문일련번호
and rownum = 1;
인덱스 역방향 정렬을 이용하여 ROWNUM = 1에 해당하는 데이터를 조회하였으므로 성능도 좋고, 잠금으로 인한 대기현상도 나타나지 않겠죠.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2130 | 17년 전 | 1185 | ||
| 2129 |
ⓧ힘내세요
|
17년 전 | 2239 | |
| 2128 | 17년 전 | 2875 | ||
| 2127 | 17년 전 | 4058 | ||
| 2126 | 17년 전 | 3145 | ||
| 2125 | 17년 전 | 1409 | ||
| 2124 | 17년 전 | 1707 | ||
| 2123 | 17년 전 | 2238 | ||
| 2122 | 17년 전 | 1545 | ||
| 2121 | 17년 전 | 1725 | ||
| 2120 | 17년 전 | 2719 | ||
| 2119 | 17년 전 | 2146 | ||
| 2118 | 17년 전 | 1799 | ||
| 2117 |
아름다운세상
|
17년 전 | 4208 | |
| 2116 | 17년 전 | 3049 | ||
| 2115 | 17년 전 | 1435 | ||
| 2114 |
아름다운세상
|
17년 전 | 3571 | |
| 2113 | 17년 전 | 2798 | ||
| 2112 | 17년 전 | 2077 | ||
| 2111 | 17년 전 | 1294 | ||
| 2110 | 17년 전 | 2336 | ||
| 2109 | 17년 전 | 2071 | ||
| 2108 | 17년 전 | 1993 | ||
| 2107 |
휴전합시다
|
17년 전 | 1922 | |
| 2106 | 17년 전 | 1171 | ||
| 2105 |
|
17년 전 | 1873 | |
| 2104 | 17년 전 | 2930 | ||
| 2103 | 17년 전 | 1435 | ||
| 2102 | 17년 전 | 1672 | ||
| 2101 | 17년 전 | 1357 | ||
| 2100 | 17년 전 | 1603 | ||
| 2099 | 17년 전 | 1576 | ||
| 2098 | 17년 전 | 1447 | ||
| 2097 | 17년 전 | 2569 | ||
| 2096 | 17년 전 | 2331 | ||
| 2095 | 17년 전 | 2113 | ||
| 2094 | 17년 전 | 1422 | ||
| 2093 | 17년 전 | 2439 | ||
| 2092 | 17년 전 | 4264 | ||
| 2091 | 17년 전 | 2754 | ||
| 2090 | 17년 전 | 1667 | ||
| 2089 | 17년 전 | 1859 | ||
| 2088 | 17년 전 | 3239 | ||
| 2087 | 17년 전 | 2237 | ||
| 2086 | 17년 전 | 3835 | ||
| 2085 | 17년 전 | 1682 | ||
| 2084 | 17년 전 | 2287 | ||
| 2083 | 17년 전 | 2110 | ||
| 2082 | 17년 전 | 1616 | ||
| 2081 | 17년 전 | 2129 | ||
| 2080 |
letsgolee
|
17년 전 | 1922 | |
| 2079 | 17년 전 | 1962 | ||
| 2078 | 17년 전 | 3075 | ||
| 2077 | 17년 전 | 2152 | ||
| 2076 | 17년 전 | 1444 | ||
| 2075 | 17년 전 | 1463 | ||
| 2074 | 17년 전 | 2132 | ||
| 2073 | 17년 전 | 3207 | ||
| 2072 | 17년 전 | 2141 | ||
| 2071 |
휴전합시다
|
17년 전 | 1536 | |
| 2070 | 17년 전 | 4253 | ||
| 2069 | 17년 전 | 2044 | ||
| 2068 | 17년 전 | 3467 | ||
| 2067 | 17년 전 | 6041 | ||
| 2066 | 17년 전 | 1486 | ||
| 2065 |
letsgolee
|
17년 전 | 1655 | |
| 2064 | 17년 전 | 1235 | ||
| 2063 | 17년 전 | 1350 | ||
| 2062 |
vicky
|
17년 전 | 2877 | |
| 2061 | 17년 전 | 1909 | ||
| 2060 |
카프카07
|
17년 전 | 2596 | |
| 2059 | 17년 전 | 1311 | ||
| 2058 | 17년 전 | 3187 | ||
| 2057 | 17년 전 | 2167 | ||
| 2056 | 17년 전 | 2613 | ||
| 2055 | 17년 전 | 1407 | ||
| 2054 | 17년 전 | 1760 | ||
| 2053 | 17년 전 | 1152 | ||
| 2052 |
|
17년 전 | 1210 | |
| 2051 | 17년 전 | 1796 | ||
| 2050 | 17년 전 | 1235 | ||
| 2049 | 17년 전 | 4315 | ||
| 2048 | 17년 전 | 1516 | ||
| 2047 | 17년 전 | 2013 | ||
| 2046 |
카프카07
|
17년 전 | 7095 | |
| 2045 | 17년 전 | 1385 | ||
| 2044 | 17년 전 | 1904 | ||
| 2043 | 17년 전 | 3137 | ||
| 2042 | 17년 전 | 1231 | ||
| 2041 |
카프카07
|
17년 전 | 1989 | |
| 2040 | 17년 전 | 1169 | ||
| 2039 |
smilesol
|
17년 전 | 1860 | |
| 2038 | 17년 전 | 2165 | ||
| 2037 |
|
17년 전 | 2976 | |
| 2036 | 17년 전 | 1251 | ||
| 2035 |
|
17년 전 | 1346 | |
| 2034 |
ㅣ곰탱이ㅣ
|
17년 전 | 1567 | |
| 2033 |
|
17년 전 | 1234 | |
| 2032 | 17년 전 | 4361 | ||
| 2031 | 17년 전 | 3904 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기