table omarket_category 

idx   int

oidx   int

occode  varchar(50)

ocname varchar(50)

osname varchar(50)

cexpire bit

cdate smalldatetime

 

 

table viewomarketCategoryAPI

idx int

oidx int

catenum varchar(50)

catefullname varchar(50)

cateshortname varchar(50)

 

 

위와같은 형태의 테이블이 있습니다

omarket_category 테이블의 ocName, csName 컬럼값을 viewomarketcategory 테이블의 cateFullName, cateShortName 컬럼값으로 업데이트 하는 쿼리입니다

문제는 레코드의 갯수가 1만개이상이 되니까 쿼리 실행이 엄청나게 느려져서 타임아웃이 걸려버립니다.

 

위 테이블 2개를 view로 아래와 같이 omarket_category.oidx = viewomarketcategory.oidx,   omarket_category.occode = viewomarketcategory.cateNum의 관계로 조인하여 뷰테이블(NewViewTAble)을 만들어서

update NewViewTable set  ocName = cateFullName ,osName = cateShortName where oidx = " & oidx & "

위와 같이 쿼리를 실행하면 2~3초만에 실행이 되어버립니다

기본적인 기초만 있는지라, 어떻게 활용해야 할지가 막막합니다.

비슷한 쿼리가 실행되어야 할 경우가 무한이 많은에 일일이 뷰테이블을 다 만들어서 한다는것도 그렇고...

뭔가 바람직한 방식은 아닐거 같다는 생각이 듭니다.

 

또한 아래의 쿼리에서 oCName, osName 두개의 컬럼만이지만, 이렇게 업데이트 해야 할 컬럼수가  한 열개쯤 되어버린다면 엄청난 처리속도 저하가 발생할것 같기도 합니다..

 

 

 

Sql = "UPDATE omarket_category SET"
Sql = Sql & " oCName = (SELECT cateFullName FROM viewomarketCategoryAPI WHERE  oidx = " & oidx & " AND cateNum = omarket_category.ocCode)"
Sql = Sql & ", osName = (SELECT cateShortName FROM viewomarketCategoryAPI WHERE oidx = " & oidx & " AND cateNum = omarket_category.ocCode)"
Sql = Sql & ", cExpire = 1"
Sql = Sql & ", cdate = '" & FormatDateTime(Now(),2) & " " & FormatDateTime(Now(),4) & ":00" & "'"
Sql = Sql & " WHERE  oidx = " & oidx & ""
Sql = Sql & " AND ocCode IN (SELECT cateNum FROM viewOmarketCategoryApi WHERE oidx = " & oidx & ")"

 

고수님들의 조언을 부탁드립니다

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 19926
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12111
7618 MSSQL 문자열 치환 질문입니다. [3] 제피로스 2014.02.21 7445
7617 백업 -> 복원중 이러한 오류가 발생하였습니다. [3] kolv 2014.02.21 15464
7616 초보라서 그런데 두 테이블에 값을 update하는 부분에 대해서... [4] Mr황 2014.02.21 3355
7615 사용자 계정 정보와 Agent Job 스크립트의 백업과 복원 방법 [4] 최강문일 2014.02.20 15019
7614 여러 DB의 같은 TABLE 관리 [2] 우츄프라 2014.02.20 11137
7613 한글 깨짐 현상에 대해서 여쭤 봅니다. [10] 죠리퐁 2014.02.20 11161
7612 Access 에서 MSSQL 2008 R2 로 넘어 왔는데.. 데이터 이전하고나서... [2] 랜덤의세계 2014.02.20 4073
7611 PRIMARY KEY 넌클러스터로 변경 하기. [1] 팔개 2014.02.19 2931
7610 mssql 2008R2를 사용합니다. 프로시져를 돌리면 오류에 대한 문의 [1] 김영선_281276 2014.02.19 16155
7609 쿼리 질문드립니다. [1] 람브르기니 2014.02.19 2226
7608 bcp를 이용하여 텍스트파일을 DB에 넣으려고 합니다. [1] 잠스 2014.02.19 4823
7607 동적쿼리에서 파라미터로 받아온 값이 인식을 안합니다. [1] 풀내기vber 2014.02.18 4280
7606 네트워크 설정 anonymous 2014.02.18 13822
7605 작업 모니터의 개요에서 대기중인 태스크 막새바람 2014.02.17 10552
7604 SQL2000 - > 2008 마이그레이션 문의 [8] 텅신보안 2014.02.17 3484
7603 성능모니터(Perfmon) 관련 문의 [1] 메칸더 2014.02.17 3920
7602 임시테이블 사용법 문의.. [1] 킹멋쟁 2014.02.17 3234
7601 데이터베이스 단위 감사 문의 더메이드 2014.02.14 2901
7600 DB 메모리 모니터링 방법 및 릴리즈 시킬수 있을까요? [5] 언제쯤 2014.02.14 5386
» 쿼리 업데이트 조언좀 부탁드립니다 [1] 김세일_280618 2014.02.14 4506





XE Login