inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

Boolean 컬럼 인덱스와 Cardinality에 따른 실행 계획에 대하여

해결됨

채널톡 면접관이 직접 알려주는 CS 면접 대비 - 데이터베이스 편

강의를 듣다가 궁금한 부분이 있어 질문드립니다! Secondary Index를 사용하면 Primary(Clustering) Index Lookup 과정에서 랜덤 I/O가 발생할 수 있다고 이해하고 있습니다 다만 이는 Cardinality가 낮은 Boolean 컬럼에만 국한된 문제라기보다는, Secondary Index의 정렬 순서와 PK 순서가 일치하지 않는 경우 일반적으로 발생할 수 있는 문제라고 생각합니다 또한 MySQL에서는 MRR을 통해 조회 대상 PK를 정렬한 뒤 접근함으로써 랜덤 I/O를 줄일 수도 있는 것으로 알고 있습니다 강의에서는 Boolean 컬럼의 경우 특정 값이 전체 데이터의 상당 부분을 차지할 가능성이 높기 때문에, MRR을 통한 정렬 및 테이블 Lookup보다 Full Table Scan이 더 효율적일 수 있다는 취지로 설명해주신 것으로 이해했습니다 그렇다면 인덱스의 효율은 Cardinality 자체만으로 결정된다기보다, 실제 값의 분포와 선택도, 예상 조회 행 수, Covering Index 여부, MRR 적용 여부 등의 요인을 함께 고려해 판단한다고 이해해도 될까요?

  • DBMS/RDBMS
  • innodb
  • mysql
소준영 댓글 1 좋아요 1 조회수 67

인덱스 분할, 병합에 따른 인덱스 적용 기준과 OPTIMIZE TABLE

해결됨

10,000++억의 데이터를 다루는 카카오 면접관의 MySQL

hong님 안녕하세요! 인덱스 분할, 병합 내용을 보면서 단순하게 인덱스를 걸면 안되겠다는 생각이 들었습니다. 질문1 인덱스 분할, 병합 관점에서 인덱스를 걸어도 괜찮다는 결론에 도달할때 과정이 궁금합니다! 인덱스로 인해 줄어드는 조회 비용 > 인덱스로 인해 증가하는 쓰기 비용 을 정량적으로 계산해서 적용하시나요? ex) 쓰기 패턴 및 TPS 조사, redo log 증가량 확인, 인덱스 개수, 테이블 크기 등 질문2 라이브 환경에서 OPTIMIZE TABLE 실행해도 문제가 없을까요? 느낌상 최후의 수단으로 실행 해야하나 생각이 들었는데요. 고려해야할 사항이 있는지 궁금합니다!

  • mysql
  • dbms/rdbms
  • backend
  • index
  • innodb
soap 댓글 2 좋아요 0 조회수 133

innodb deadlock detect 비활성화 질문

해결됨

MySQL 성능 최적화

https://fromdual.com/innodb-deadlock-detect-rather-hands-off 요 글을 보면 페이스북과 같은 엄청난 동시성 트랜잭션을 처리하는 서버가 아닌이상 웬만하면 innodb_deadlock_detect=on으로 하는걸 권장하는 글로 보입니다. 국내 기업 한정에서 실무에선 off로 하는 경우가 있을까요? 제 생각엔 lock으로 인한 성능상 문제가 있다면 off로 하는 것 보단 아키텍처 관점(레디스 사용 등)에서 성능 문제를 해결하는게 더 좋을것 같아서요..! 저 글과 같이 off로 했을 경우 스레드의 잠금이 계속해서 쌓여서 어느순간 max_connections을 초과하게 되었다는데.. off로 할 경우 innodb_lock_wait_timeout을 줄이고 max_connections을 높여 가면서 성능 테스트를 해서 적절한 값을 세팅하는 것이 좋을까요? off로 했을 경우 성능상 큰 이점이 있는 건지 감이 잘 오지 않습니다 ㅠ 강의 자료 노션에는 practice가 있는데 영상은 없네요 ㅠㅠ 의도하신 건지 궁금합니다아

  • mysql
  • dbms/rdbms
  • deadlock
  • innodb
soap 댓글 1 좋아요 0 조회수 438

ssd 에선 innodb_flush_neighbors을 0으로 하면 될까요?

해결됨

MySQL 성능 최적화

hdd에서 유용한것 같아서 ssd를 사용하면 1이나 2로 안해도 성능상 영향이 없는걸로 봐도 될까요?

  • mysql
  • dbms/rdbms
  • innodb
  • flush
soap 댓글 1 좋아요 1 조회수 265

innodb_buffer_pool_instances 기준 질문 드립니다

해결됨

MySQL 성능 최적화

강의나 real mysql 책을 보면 os memory 기준으로 innodb_buffer_pool_instances 수를 조절하는것으로 나와있는데요. 좀더 검색해보니 어디든 core 수 * 2 기준으로 하는 글도 있더라구요..!! 어떤걸 기준으로 잡아야 하는지 궁금해서 질문드립니닷 참고한 블로그 https://owlyr.tistory.com/23

  • mysql
  • innodb
  • bufferpool
soap 댓글 1 좋아요 0 조회수 752

인기 태그

인프런 TOP Writers

주간 인기글