데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

현재 프로시저를 이용해서 네개의 테이블에서 휴대번호의 유무를 판단하고 없다면 insert를 하는 프로시저로 진행을 하는데..

검색하고 insert를 하는 시간이 너무나 많은 시간이 걸려서 고수님의 도움을 받고자 합니다.

 

현재 데이타의 갯수는 각각의 테이블별로 60,000개의 데이타가 있는데..아래의 프로시저문을 보시면 아실것입니다.

각각의 테이블의 index는 pk 말고는 없습니다.

물론 index를 잡는 방법을 모릅니다. 아무리 잡을려고 하는데도 저의 실력으로는 부족하세요.

기존에 운영중이던 테이블의 검색을 진행하는 컬럼에 index를 걸수 있는 방법도 부탁드립니다.

 

--- 프로시저 수정 소스 ---

ALTER PROCEDURE [dbo].[usp_AutoCall]
@CellNumber varchar(20) = '',
@id varchar(50) = ''
as
DECLARE @cellPhone INT;
DECLARE @cellPhone1 INT;
DECLARE @cellPhone2 INT;
DECLARE @cellPhone3 INT;
DECLARE @cellPhoneAll INT;
Begin Tran
 SET NOCOUNT ON
 BEGIN
  SELECT @cellPhone = COUNT(cellPhone) From chkTable where replace(cellPhone,'-','') = @CellNumber;
 END;
 BEGIN
  SELECT @cellPhone1 = COUNT(userCell) From member where replace(userCell,'-','') = @CellNumber;
 END;
 BEGIN
  SELECT @cellPhone2 = COUNT(phone) From ben_member where replace(phone,'-','') = @CellNumber;
 END;
 BEGIN
  SELECT @cellPhone3 = COUNT(userCell) From aby_member where (replace(userCell,'-','') = @CellNumber) or (replace(userPhone,'-','') = @CellNumber);
 END;
  set @cellPhoneAll = @cellPhone1 + @cellPhone2 + @cellPhone3;
  if @cellPhoneAll <= 0
  BEGIN
  insert into wkr_autocall_chkTable_temp (cellPhone, regID) VALUES (@CellNumber, @id)
  END;
  If (@@error <> 0)
  RollBack Tran
 else
  Commit Tran

 

--- 프로시저 소스 완료 --

 

-- ASP 소스 시작---

set objConn=Server.CreateObject("ADODB.Connection")

objConn.open "Provider=SQLOLEDB.1;Password=비밀번호;Persist Security Info=True;User ID=아이디;Initial Catalog=디비명;Data Source=IP주소;Network Library=dbmssocn"
  Set Cmd = Server.CreateObject("ADODB.Command")
  with Cmd
   .ActiveConnection = objConn
   .CommandType = adCmdStoredProc
   .CommandText = "[dbo].[usp_AutoCall2]"
   .Parameters.Append .CreateParameter("@CellNumber", adVarChar, adParamInput,20)
   .Parameters.Append .CreateParameter("@id", adVarChar, adParamInput,20)
  .Parameters("@CellNumber") = cellPhone
   .Parameters("@id") = regID
   .Execute , , adExecuteNoRecords

 End with
 Set Cmd = Nothing

 -- ASP 소스 끝---

 

고수님의 도움을 간절히 부탁드립니다.

 

 

No. Subject Author Date Views
7732 CASE 식은 수준 10까지만 중첩할 수 있습니다. [1] msakstp 2014.03.28 6269
7731 대용량 db 의 데이터 [2] 이유진_301818 2014.03.27 3249
7730 태스크-스크립트 생성을 스케줄로 걸 수 있나요? [2] 조굴 2014.03.27 3412
7729 초보적인 질문 드립니다. [2] unyo 2014.03.27 2415
7728 예제 결과를 그룹별로 중복되지 않게 행을 합치려면 어떻게 해야 할지요? fame 2014.03.26 2788
7727 ms SQL 디비 호환 버전 문의 [2] 홍훈아 2014.03.26 7487
7726 서브쿼리질문드립니다. [8] 큘러 2014.03.26 2660
7725 자정이 지났는지 여부를 알수 있늘까요? 동숙이 2014.03.25 2990
7724 MSSQL 메모리 좀 올려 주세요 ~~~~~` [4] 홍훈아 2014.03.25 4721
7723 모든 열을 업데이트 하려고 합니다. 나는짱이야 2014.03.25 2705
7722 md5로 비밀번호를 암호화 하고 싶은데요 [1] alima 2014.03.25 3200
7721 몇번째 배열값인지를 찾아주세요!!! ㅠㅜ 파인드쿠폰 2014.03.25 2993
7720 row를 구하고 방식을 좀더 쉽게 알고 싶습니다. [5] 아루시스 2014.03.24 2536
7719 쿼리 작성시 *=는 LEFT OUTER JOIN 인데요..=*는 뭘 의미하는 건가요? [1] 냥냥이맘 2014.03.24 3592
7718 from 절에 테이블명을 select 해서 나오는 열로 넣는방법 문의드립니다 [4] 옹달 2014.03.24 4834
7717 미러링 서버 설정 관련 질문 드립니다. [2] 나는짱이야 2014.03.24 3148
7716 MS SQL 2012 AlwaysOn 실제 사용기 NiceHee 2014.03.22 3642
7715 쿼리로 해결할수 있을까요?? [1] 김세진_280632 2014.03.22 2454
» 프로시저의 index를 걸고 싶습니다. [3] 웹사랑 2014.03.22 2916
7713 쿼리질문드립니다. 큘러 2014.03.21 2235





XE Login