블로그 이미지
보미아빠

카테고리

보미아빠, 석이 (528)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2025.9
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

최근에 올라온 글

connect by

카테고리 없음 / 2011. 5. 3. 14:21



if object_id ('tblx') is not null
drop table tblx
go


create table tblx
(idx int identity(1,1)
,emp_name varchar(1000)
,parent_seq int
,seq int
)

go

insert into tblx values
 ('minsouk', null, 1)
,('ben gan', 1, 2)
,('Kollor', 2, 4)
,('Sarka', 4, 6)
,('Christian', 4, 8)
,('Justin', 2, 5)
,('Brent', 5, 7)
,('James', 1, 3)
,('Steven', 2, 9)

go

;with c_tblx as (
select 0 as emplevel
  , emp_name
     , parent_seq
     , seq
     , convert(varchar(100), ' / ' +cast(seq as varchar(100)))
       path_order -- siblings by
  from tblx
 where seq = 1  -- start with
 union all
select emplevel + 1
  , a.emp_name
     , a.parent_seq
     , a.seq
     , convert(varchar(100), b.path_order + ' / ' + cast(a.seq as varchar(100))) 
       -- siblings by
  from tblx a
  join c_tblx b
    on a.parent_seq = b.seq -- connect by prior
)
select replicate('  ', emplevel * 2) + cast(seq as varchar(100))
     , *
  from c_tblx
 order by path_order

 

Posted by 보미아빠
, |

Tree 관리 이슈가 있으면 Tree 를 관리 안하면 되고,
logging 디스크 이슈가 있으면 안하면 되고
tempdb 가 문제이면 풀면 되고,
page size 가 작으면 늘이면 되고,
optimization 을 더 열심히 해야 할 듯 하면 시키면 되고 문제가 있으면 해결하면 되지 머 어렵나?
OK? 힘내삼! 도우며 살거라....~

DW 성능 이슈 해결을 위해 사용 될 수 있는 자료

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/10/24/new-update-on-minimal-logging-for-sql-server-2008.aspx

2301 Enable advanced decision support optimizations
834 large page allocation
610 minimal logging
845 lock page in memory
1118 tempdb

example
select count(*) from tblx option(querytraceon 2301)

Posted by 보미아빠
, |



--1. http://www.postman.pe.kr/zipcode/ 에서 3번 다운로드
--2. excel 에서 csv 로 변환 후 db insert

if object_id('tblx') is not null
drop table tblx
go

create table tblx
(
ZIPCODE varchar(1000)
,SIDO varchar(1000)
,GUGUN varchar(1000)
,DONG varchar(1000)
,RI varchar(1000)
,ST_BUNJI varchar(1000)
,ED_BUNJI varchar(1000)
,SEQ varchar(1000)
)
go

BULK INSERT l.dbo.[TBLx]
FROM '\\127.0.0.1\c$\db1\zipcode_20110311.txt'
WITH
(
FIELDTERMINATOR = ',',
TABLOCK,
FIRSTROW =2
)
go

delete from tblx where seq is null
go

--3. 모의 데이터 삽입
if object_id('tbly') is not null
drop table tbly
go

create table tbly
(idx int identity(1,1)
,h_address varchar(1000)
)
go

insert into tbly values ('서울특별시 강남구 논현1동 21번지')
insert into tbly values ('대구시 동구 신암4동 139번지')
insert into tbly values ('경기도 용인시 기흥구 중동 참솔마을 109동')
insert into tbly values ('경기 용인 기흥 중동 참솔마을')
insert into tbly values ('대구동구신암3동 어쩔시구리')
insert into tbly values ('이상한나라의 엘리스')
go

select top 3 * from tblx order by cast(seq as int)
select * from tbly

-- 원하는 데이터         
select sido, gugun, count(*) cnt
  from (select idx, h_address, zipcode, sido, gugun
    from tbly a
   cross apply (select top 1 *
      from tblx
        where a.h_address like +'%'+left(SIDO,2)+'%'+'%'+left(GUGUN,2)+'%') b ) a
 group by sido, gugun
go

-- 오류 데이터

select a.*
  from tbly a
  left join (select idx, h_address, zipcode, sido, gugun
     from tbly a
    cross apply (select top 1 *
       from tblx
       where a.h_address like +'%'+left(SIDO,2)+'%'+'%'+left(GUGUN,2)+'%') b ) b
    on a.idx = b.idx
 where b.idx is null

Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함