개발 Q&A

제목 mysql index 에 대하여 고수님들의 조언을 여쭙고 싶습니다.
글쓴이 천재작곡가 작성시각 2016/03/25 10:48:11
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 11443   RSS

현재 설계하고 있는 DB는

1.프로모션 관리 테이블 (이벤트 설정등을 저장)

2.프로모션 신청자 테이블 (프로모션의 신청자들을 저장하기 위한 테이블)

 

이것인데

1. 관리자 페이지에서 특정 프로모션 신청자 목록을 특정 유저그룹이 열람할수 없게 하는 기능 추가

2. 현재 생각한 방안

    1) 프로모션 관리 테이블: 열람가능한 그룹(이하 grp컬럼) 을  한 컬럼에 {그룹1}{그룹2}{그룹3} 이런식으로 구분자 {} 를 이용해서 넣어놓고

    2) 프로모션 신청자 테이블에서 select 해올때 join 으로  grp 컬럼에서 LIKE '%{내그룹}%' 해서 뽑아오려고 하는데

3. 현재 DB 데이타와 차후 데이타예상

   1) 현재 : 50개정도의 프로모션 테이블과, 6000명정도의 프로모션 신청자 데이타가 있고,

   2) 이후예상 : 한주에 프로모션 한개정도씩을 만들고 있고, 한주에 약 300명정도의 프로모션 신청자 데이타가 쌓입니다.

 

질문1) 이렇게 했을때 2번에서 제가생각한 설계로 추후에 쿼리속도에 문제가 될수 있나요?

질문2) 혹시 더 좋은방법이 없을까요?

 다음글 jpg 다운로드시 이미지 깨짐현상 도움 좀 부탁드립니다... (2)
 이전글 php 7버전 업그레이드 예정입니다. (3)

댓글

변종원(웅파) / 2016/03/25 13:27:04 / 추천 0
그룹값 1, 2, 4, 8, 16.. 으로 사용하고 7인 경우 1, 2, 4의 권한을 가지는걸로 사용하면 like 검색하지 않아도 됩니다.
리오 / 2016/03/25 15:21:37 / 추천 0

그룹에 관한 필드를 늘리세요 그리고 인덱스 거세요.

인덱스 걸 때 순서 잘 생각하시고요.

like문은 정말 필요한 경우가 아니면 쓰지마세요.

인덱스 안 먹습니다.  검색엔진 쓸거라면 몰라도요.

테스트를 할려면 적어도 백만 샘플 데이터를 넣고 해보세요.