대량 insert 를 할 일이 있습니다. MSSQL 2005 입니다.
insert 를 만건 정도씩 업로드를 하는데
웹프로그램 쪽에서 로그인한 사람들이 특정 시간에 동시에 만건 정도 되는 insert & update 를 동시에 해버리니
다른 select 프로그램도 너무 느리고 그래서 타임아웃이 걸려버립니다.
웹프로그램은 ASP 인데
지금은 초기버젼이라 약간 무식하게 만건에 대해서 한건마다 insert 를 하고 그 건수를 특정 테이블의 값에 -1 와 +1을 해주는 업데이트를 하고 있는데
이를 트렌젝션을 활성화한 뒤 insert tbl () select '' ... union all select '' ... 이런식으로 1000 건 정도씩 묶어서 올린 뒤 한꺼번에 건수를 +1000건 정도 하는 식으로 바꿔볼까도 생각중입니다.
오라클에서는 힌트에 append 를 쓰는 방법도 있는 것 같던데...mssql 에서는 유사한 방법이 없을까요?
혹은 개별의 커넥션에 대해서 특정한 제한을 걸어서 다른 사용자의 커넥션이 접속조차 힘들게 만드는 일이 없도록 하는 방법이 있을까요?
조언 부탁드립니다. |