현재 프로시저를 이용해서 네개의 테이블에서 휴대번호의 유무를 판단하고 없다면 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
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 477
7729 초보적인 질문 드립니다. [2] unyo 2014.03.27 2429
7728 예제 결과를 그룹별로 중복되지 않게 행을 합치려면 어떻게 해야 할지요? fame 2014.03.26 2794
7727 ms SQL 디비 호환 버전 문의 [2] 홍훈아 2014.03.26 7495
7726 서브쿼리질문드립니다. [8] 큘러 2014.03.26 2668
7725 자정이 지났는지 여부를 알수 있늘까요? 동숙이 2014.03.25 3002
7724 MSSQL 메모리 좀 올려 주세요 ~~~~~` [4] 홍훈아 2014.03.25 4730
7723 모든 열을 업데이트 하려고 합니다. 나는짱이야 2014.03.25 2711
7722 md5로 비밀번호를 암호화 하고 싶은데요 [1] alima 2014.03.25 3209
7721 몇번째 배열값인지를 찾아주세요!!! ㅠㅜ 파인드쿠폰 2014.03.25 2997
7720 row를 구하고 방식을 좀더 쉽게 알고 싶습니다. [5] 아루시스 2014.03.24 2543
7719 쿼리 작성시 *=는 LEFT OUTER JOIN 인데요..=*는 뭘 의미하는 건가요? [1] 냥냥이맘 2014.03.24 3601
7718 from 절에 테이블명을 select 해서 나오는 열로 넣는방법 문의드립니다 [4] 옹달 2014.03.24 4891
7717 미러링 서버 설정 관련 질문 드립니다. [2] 나는짱이야 2014.03.24 3156
7716 MS SQL 2012 AlwaysOn 실제 사용기 NiceHee 2014.03.22 3649
7715 쿼리로 해결할수 있을까요?? [1] 김세진_280632 2014.03.22 2463
» 프로시저의 index를 걸고 싶습니다. [3] 웹사랑 2014.03.22 2928
7713 쿼리질문드립니다. 큘러 2014.03.21 2240
7712 저장프로시져 쪽 에러같은데.... [5] 이종엽 2014.03.21 2611
7711 sql 쿼리 count 질문 입니다! [1] 버닝니오 2014.03.21 2918
7710 동적쿼리를 작성 할 때 변수를 1개 이상 사용 할 수 없나요? [2] 팔개 2014.03.20 3401





XE Login