sql 문 필드에 임의로 들어간 값을 중복 검증을 해보려고 합니다.

sql 문 필드에 임의로 들어간 값을 중복 검증을 해보려고 합니다.

QA

sql 문 필드에 임의로 들어간 값을 중복 검증을 해보려고 합니다.

본문

mysql 필드 에 D2,J12,J28,P8,Q20 형식으로 있다면?
 
 
mysql 필 형식이 D2,J12,J28,P8,Q20처럼 1000줄을 한번에 검증한다면,
 
추가로 찾는 D2 값을 가장 빠르게 있는지 검증 하는 방법은?
 
DB 필드에 단순 varchar  입니다.

 

이 질문에 댓글 쓰기 :

답변 4

음.. 생각나는 방법은 일단 D3 과 D31 을 하나로 만드는걸 먼저 하셔야 겠네요

D01, D03 이런식으로 해서 자릿수를 맞추는 작업을 선행하셔야 겠습니다.

 

그리고 해당 필드가 있는지 검증하는 방법은 like 로 하시거나

replace("D03,","") 이런식으로 먼저 값을 넣기 전에 replace 로 해당 값을 없앤다음 넣는 방법이 있겠네요..

 

문제가 생길 소지가 마지막에 ","  인데 값을 넣을때 부터 마지막에 "," 가 추가되도록 하고

배열검사할때 마지막 항을 예외처리하도록 하면 되지 않을까요?

아주 좋은 보완방법인것 같습니다. 전혀 생각하지못했던,,
우선 자릿수만 맞춰봐도, %like% 로 해결할 수 있지않을까, 가능성이 보입니다.. 감사합니다....!!

음 복잡한데...

고수님 분명 방법은 아실텐데 제가 질문을 잘못한듯합니다.
mysql 필드에 설계 잘못으로 필드에 배열처럼 D2,J12,J28,P8,Q20 넣어버린겁니다.
그래서  막상 D3,Q20 처럼 넣으려고 하니, D3 가 있는지 Q20 가 있는지 검색을 해보고 넣어야하는 상황이 생긴거에요.
그런데 저 검증을 하는데 최대한 빠르고 검증을 해보력 하는데, 제가 해본 초보 코드로는,,,

필드 like '%D3%' 로 검증 ( " , " 이가 있기때문에 D3 인지 D31 인지 한번에 검증 불가 )
해당 필드 값 -> 결과 필드를 php로 배열 화 -> 배열 갯수 loop 돌려서 맞는지 중복 맞다면 exit;

그런데 입력하는 값이 총 5개 이기때문에,
5번 검증 X 5개 배열 총 25번 검증 을 동시 100명만 해도 2500 번 검증을 한다면
부하가 너무 심해서 좋은 방법이 없는지 까지 도달했습니다.

위에 돼지코구뇽님은 알아들으셨는지요 ㅋㅋ

저는 뭔말인지 정확히 모르지만 like 검색으로 안되는건가요?

답변을 작성하시기 전에 로그인 해주세요.
전체 123,527 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT