안녕하세요. 현재 강의를 수강중인 학생입니다. RATERAL 사용 관련되어 질문이 있어 글 남겨드립니다. 잘못된 지식일 수 있지만, 서브쿼리를 사용하면 DBMS에서 지원하는 최적화를 지원받지 못해 서브쿼리를 사용하는 것보다는 최대한 조인을 사용하거나 차라리 쿼리를 나눠서 사용하는 것을 권장한다고 알고 있었습니다. 그런데 해당 강의를 수강하고 LATERAL의 사용을 적극 권장하셔서 제가 알고 있는 지식과 충돌하는 것 같습니다 혹시 어떤 경우에 LATERAL을 사용 하는 것이 좋을 지 여쭤보고자 글을 작성합니다. 감사합니다.
안녕 하세요.. 이런 질문을 드려도 될까 모르겠습니다만.. 현재 운영 되는 사이트는 ms-sql 로 bak 파일 기준 약 50기가 정도 됩니다. 사이트를 개편 하려고 하고 있는데요..mysql 로 바꾸는 것을 논의 중 입니다. 처음 부터 데이터가 50기가 가 입력 되는 것은 아니고..운영 하면서 데이터가 늘어날텐데.. 경험 상 50기가 정도 될 것으로 예상 됩니다. 특정 테이블은 몇천만건의 데이터가 입력 될 수도 있는데요.. mysql 이나 mariadb 로 이 정도의 데이터베이스를 운영 할 수 있을지.. 사이트 속도 에는 큰 문제가 없을지.. 조언 부탁 드립니다. 감사 합니다.
안녕하세요. 이제 2회차로 다시 잘 보고 있는 수강생입니다 🙂 Ep15를 보던 중 복합 인덱스의 컬럼들 중 선행컬럼을 조건에서 누락할 경우 풀 스캔이 될 수 있다고해서 직접 쿼리를 실행해봤습니다. 환경: MySQL 8.2.0 쿼리 explain select * from users where joined_at > '2022-07-24 00:00:00'; 결과 8.0.21버전부터는 인덱스 스킵 스캔을 통해 선행 컬럼이 조건에 포함되지 않아도 후속 컬럼을 이용해 인덱스 일부 활용이 가능하다고 하는데 이 때문에 위와 같은 실행 계획나 나온걸까요?
안녕하세요 루키스님의 이번강의가 처음인 수강생입니다. 클라이언트 작업만 하다가 서버 작업은 처음인지라 chat gpt 돌려가며 1주차 서버 스크립트에 주석으로 공부한 내용을 달아놨고 앞으로 추가되는 스크립트들은 직접 복사해서 붙여넣고 또 주석으로 공부한 내용을 넣어놓을 생각이었는데 매번 바뀌는 강의자료에 제가 공부했던 내용을 덧붙일 자신이 없습니다... 앞으로도 추가되는 스크립트를 직접 추가하게 될때, 해야 하는 절차를 알 수 있을까요?
안녕하세요 회사노트북에 My SQL과 Anaconda (주피터노트북)을 다운받아서 연습해보려고 하는데 혹시 이렇게 사용해도 따로 자료 유출이나 보안적인 부분에서 이슈가 될만한 사항은 없겠죠? 주피터 노트북을 다운받고나니 회사 노트북에 One drive에 저장된 모든 문서가 떠서 좀 당황스러워서 확인차 여쭤봅니다!
안녕하세요, 강의 잘 듣고 있습니다. 강의와 책을 동시에 보면서, 학습을 하고 있습니다. 근데 강의와 도서에서 설명하는 내용에 다른점이 있는 것 같아서 질문드립니다. REAL MySQL 8.0 (2권) 중 11.4.6 COUNT() 절에서는 아래와 같이 설명되어 있습니다. MyISAM 스토리지 엔진을 사용하는 테이블은 항상 테이블의 메타 정보에 전체 레코드 건수를 관리한 다. 그래서 "SELECT COUNT(*) FROM tb_table"과 같이 WHERE 조건이 없는 COUNT(*) 쿼리는 MySQL 서버가 실제 레코드 건수를 세어 보지 않아도 바로 결과를 반환할 수 있기 때문에 빠르게 처리된다. 하지만, 강의 Ep.03 COUNT(*) vs COUNT(DISTINCT) 튜닝 에서는 WHERE 절 없는 COUNT(*) 는 제거 대상이라고 설명을 해주셨습니다. 책의 내용처럼 메타 정보에서 가져온다고 한다면 굳이 제거 대상이 될 것 같지는 않은데, 혹시 제가 놓친 배경이 있었을까요? 아니면 이게 뭔가 이분법적인 차원에서 접근하기에는 어려운 내용일까요?
안녕하세요! 14분 쯤 나오는 단일 인덱스 크기와 전체 인덱스 크기가 얼마인지 나오는데, 각각 구하는 계산식을 알 수 있을까요..? 어떻게 8바이트가 1억건의 테이블이 있을때 6GB가 되는지 잘 모르겠습니다.. 8바이트 x 1억 레코드 = 800MB 800MB / 1000 = 0.8GB 인줄알았는데 따로 계산법이 있는걸가요? 추가적으로 필요인스턴스 관련해서 aws에서 계산해보고싶은데 aws요금 계산기에서 Aurora MySQL 서비스 로 검색하면되는게 맞을까요? 서비스 찾기에 Aurora MySQL 검색해도 결과없음으로 나와서요..ㅠㅠ
안녕하세요! 좋은 강의 감사합니다! 이력 테이블의 대용량 데이터를 저장하기 위해 pk값 설정 시 정수형은 제한이 있다고 생각해서 시간+uuid로 복합키를 설정하려고 하는데요! 레인지 파티션도 사용하려구 하구요! 이렇게 할 경우 결국엔 String타입으로 저장되서 클러스터링 인덱스가 제대로 저장이 될까? 고민이 있었는데요! 이런 고민을 갖고 강의를 보게 되었는데, 강의 내용을 참고해보면 uuid값이 정수형보다 길어서 pk로 사용할 경우 메모리를 많이 차지해서 메모리크기가 큰 인스턴스를 사용해야 하므로 비용처리가 드는걸로 이해했습니다. uuid대신 snowflake나 sonyflake 라이브러리로 대체하는게 더 좋다고 말씀해주셨는데, 해당 라이브러리가 망하거나(?) 제대로 작동을 안할경우의 위험성도 고려해봐야할것 같다는 생각이 들어서요! 제가 요 라이브러리는 잘 몰라서 여쭤보고자합니다! 그래서 질문은 아래 3가지 입니다! Q1. 시간+uuid로 복합키로 pk를 설정하거나, 애플리케이션단에서 시간+uuid만든 String 타입을 pk를 설정하는것보다, snowflake 라이브러리 하나만 사용하는게 더 메모리가 효율적인게 맞을까요? Q2. snowflake가 실제로 현업에서도 많이 쓰이는지 해당 라이브러리가 추후에 제대로 작동을 안할 경우에는 어떻게 대처를 해야 하는지 궁금합니다! Q3. 추가적으로 uuid관련 내용이 Real Mysql 2권 중 어디에 있는지도 궁금합니다! 목차에서는 찾을 수가 없어서요 ㅠㅠ
안녕하세요. 이번에 처음으로 루키스님 강의를 접하게 되었습니다. 사실 서버나 데이터베이스 이런거 연동없이 클라이언트로만 게임을 만들어보는 건 어느정도 해봐서 괜찮을 줄 알고 강의를 구매했습니다. 하지만 이 부분에 대한 개념이 없다보니 수업자료의 소스코드를 봐도 뭐가뭔지 하나도 모르겠더군요. 그래서 루키스님이 따로 만드신 유니티 기본 강의를 먼저 듣거나 병행하는 등의 방법으로 해당 강의를 들으려 합니다. PART4부터 PART9까지 수강을 하고 들으면, 이 정도 프레임워크까지는 혼자서 만들 수 있는 수준이 될 수 있을까요?
Select for update 시 lock 을 걸어 원 데이터를 버장힌다는 것은 이해 하였습니다그렇다면 a|b 가 동시 접근 하여 서로 다른 값으로 변경하려는 부분은 없고 동일 프로세스가 두번 진입 할 수 있다고 가정한다면어차피 update 시 xlock이 row에 대하여 획득하니select for update 는 필요없는게 맞다라고 이해를 했습니다이 부분이 맞을까요?