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 검색으로 안되는건가요?

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

회원로그인

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