사용자 필드가 있고 그 사용자가 특정 서비스를 사용하고 있다는 플래그를 만들고 싶은데
1. 별도의 테이블을 만들교 뷰 사용
- 서비스 바뀔때 마다 테이블 생성해야 함
2. 서비스 항목별로 bool 필드 만들기
- 위와 마찬가지
3. int필드에 비트플레그 사용
- 직관적이지 않음
4. 서비스 필드 하나에 서비스 이름 문자열 배열
- 오버헤드가 클거 같음
뭐가 제일 합리적인거 같음?
사용자 필드가 있고 그 사용자가 특정 서비스를 사용하고 있다는 플래그를 만들고 싶은데
1. 별도의 테이블을 만들교 뷰 사용
- 서비스 바뀔때 마다 테이블 생성해야 함
2. 서비스 항목별로 bool 필드 만들기
- 위와 마찬가지
3. int필드에 비트플레그 사용
- 직관적이지 않음
4. 서비스 필드 하나에 서비스 이름 문자열 배열
- 오버헤드가 클거 같음
뭐가 제일 합리적인거 같음?
pk에 랜덤과 카테고리그룹합쳐서 unique로 넣고 화면단에서 데이터 받아오면서 split... then no overhead, speedy, and intuitive
전문적으로 mnemonic marking 이라고도 함
맵핑 테이블 ㄱㄱ
미친놈..pk에 그걸 합쳐서 유니크로 넣으라니..db 기본이 안돼있네 ㅋㅋㅋㅋㅋ그럼 그냥 컬럼하나에 왕창넣고 구분자로 구분 해라 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
컬럼은 하나로쓰고 서비스는 코드로 구분한후 코드맵핑테이블 따로놓는게 정석이다. 한사람이 여러서비스를 쓸수있으면 맵핑테이블이 또나가는거고. 모델링의 기본
정석은 니미..pk가 단순 넘버링으로 써야한다는 어디 학부 학년 nf 수준의 국민체조하는 소리하고 앉았다
저위에 글읽어봐라 고려대상에 bool field가 설계고려조건이다. 인덱스에 저 구분자 하나 넣고 2단계 스캐닝 하나 없애는 퍼포먼스가 어떤효과를 낼 수 있는지 너네 교수놈에게 물어보고와라
설명좀;;
id 인 pk는 [11,21,331,5553,1112,33451,7771,882,441]이렇게 인덱스로 구성
아 시방 안되네. select id from tbl
아 조옷같네
r igh t (id, 1) = 1
저걸 where xxxx=1로 해봐라고. 퍼포먼스 차이가 얼마나 오지는지.
인덱스에 트리 안내려가고 인덱스 그 자체로만 조지는 연산응용이다.
저 위에 인덱스 들 중에서 끝자리 1이 주르륵 나오겠지. 그 1인건 뭐 야동방에 들어갔을떼 나오는거라치고. 2는 안바망 등등