일렬 규칙이 있는 테이블에 관해서 한번에 처리하는 방법에 대해서 현재 php를 이용하여 반복문을 돌리고 있는데,

웹 연결 시간이 있어서 많은 량을 처리가 안되더라구요.

일단 mysql 쓰고 있습니다.


예를 들어 P1, P2, P3, P4, P5 ..... 으로 약 100개가 있습니다.

각 테이블에는

P1 테이블 (기본키는 _no로 자동 증가값이구요 생략 하겠습니다.)

a1     a2     a3     a4     a5

 1      2       3       4      5

 1      2       3       4      6

 1      2       3       4      7

 1      2       3       4      8

 (이런식으로 데이터가 순서대로 들어가 있고 각각 1000개 이상 나열되어 있습니다.)

각 P에는 a1, a2, a3, a4, a5 5개를 합친값(더한값 아님)의 중복이 없습니다.

이해하기 쉽게 a1, a2, a3, a4, a5 이 5숫자가 사원 번호라던지 제품 번호라던지 학번 같이 고유의 숫자가 됩니다.


NAME 테이블는 a1, a2, a3, a4, a5, name 이 있습니다.

NAME 테이블에 a1, a2, a3, a4, a5 의 숫자가 규칙이 없이 되어 있습니다.


이것을 a1, a2, a3, a4, a5 를 통해서 P1인지 P2인지 구분하여 이름을 업데이트 하는 겁니다.


여기서 각 P 데이터에 이름이라는 컬럼을 추가 하였습니다.(0.1초 이하는 php 반복으로 수월하게 할수 잇더라구요.)


근데 여기서 두가지 문제가 생겼습니다.


첫번째는 쿼리문을 이렇게 썼습니다.

UPDATE P1 a, NAME b

SET a.name = b.name

where

a.a1 = b.a1

AND a.a2 = b.a2

AND a.a3 = b.a3

AND a.a4 = b.a4

AND a.a5 = b.a5

로 하니깐 많은 시간이 걸리더라구여 줄이는 방법이 있을까여?

P1의 실제 테이블을 실행 시켰을때 183.4초가 걸렸습니다.

(쿼리문 시간을 줄이는 방법)


두번째 문제는

위 쿼리 문에서 P1, P2 를 각각 써서 처리 해줘야 되는데

혹시 쿼리 변수 같은걸 사용해서 한번에 처리 하는 방법이 있습니까?

(또는 웹 원격 시간 제한을 늘리는 방법)


-------------------------------------------------------------------------------------------------------------------------

현재 php로 처리중에 있고,

for($i=1;$i<101;$i++){
 $query = "
      UPDATE P".$i." a, NAME b 
      SET a.name = b.name 
      WHERE
      a.a1 = b.a1
     AND a.a2 = b.a2
     AND a.a3 = b.a3 
     AND a.a4 = b.a4 
     AND a.a5 = b.a5 ;
 ";

mysqli_query($conn, $query);

}

이렇게 처리하고있습니다.





No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 20344
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12155
8558 트리거 관련 질문입니다. [1] 유리의성 2015.02.24 2635
8557 데이터베이스 테이블을 엑셀로 내려 받기 하는 방법이 있나요??? [2] 아싸라비아콜롬비아 2015.02.23 2719
8556 일반 테이블을 파티션이 적용된 테이블로 변환하려고 하는데.. 랜덤의세계 2015.02.23 2693
8555 in 사용과 XML 방식 어느 방식 사용 하면 더 좋을가요 ~~ 도래이몽 2015.02.23 2196
8554 스케줄러 관련 문의 드립니다. [1] 세균장군 2015.02.17 2247
8553 mssql 2014 인메모리 홍훈아 2015.02.17 4647
8552 Trigger로 히스토리 남기기 김동인_278615 2015.02.16 3237
8551 쿼리문 문의 합니다. [2] 죠리퐁 2015.02.16 2306
8550 디비 업그레이드로 restore관련 질문 입니다 ㅠㅠ [1] 풀내기vber 2015.02.16 2930
8549 품목별 최종 단가표를 어떻게 만들어야 할까요? [3] 뇽이 2015.02.16 3218
8548 동적쿼리 [2] 마힐링 2015.02.16 2561
» 일련규칙있는 테이블 업데이트 관한건데요. 짬자면굿 2015.02.15 2034
8546 could not find stored procedure 'dbo.테이블명', 오류 해결방법 질문입니다. [1] Tamio 2015.02.14 4014
8545 sa 암호 자동으로 변경되는 것 질문합니다. [1] rhfktj 2015.02.14 2513
8544 인덱스 조각난거 정리하려고 합니다. [2] 지호아빠 2015.02.13 3439
8543 sp_changedbowner로 소유자 변경 시 보안 문제 흰가루찹쌀떡 2015.02.13 2747
8542 쿼리 로그 확인하는 방법 [1] akfflr 2015.02.13 2756
8541 코드별, 구분별 입력 값을 열형태로 코드별 구분된값으로 나열? [4] 다자녀아빠 2015.02.12 3398
8540 관련된 데이터들의 크로스체크 [1] 우츄프라 2015.02.12 2628
8539 로그용 테이블을 날짜별로 생성 하고 insert하고 싶습니다. [4] zza 2015.02.12 3957





XE Login