Mysql36 Mysql 엔진 InnoDB 스토리지 엔진 특성(MS-SQL과 거의 유사) 기본 키에 의한 순차 저장 잠금이 필요 없는 일관된 읽기 4단계 읽기 단계로 인한 레코드(ROW 레벨) 락 제공 - 데이터 변경 전 Undo 로그 사용 - READ-UNCOMMITTED - READ-COMMITTED - REPEATABLE-READ-COMMITTED 외래 키 지원(물리적 개념은 알지만 거의 사용 안해봄) 자동 데드락 감지 자동화된 장애 복구 데이터 파일 손상 시, 강제 리커버리 하는 듯 MyISAM - OS의 캐시 기능 사용, 캐시 우선 순위 밀릴 수도 있음, 당연히 그러면 느려짐 MEMORY - 테이블 용량의 최대 크기를 가지고 있다. - 고정 길이 컬럼만 사용 VARCHAR = CHAR와 동일하게 공간 할당 - BLOB, TE.. 2019. 3. 7. Mysql Update Select 결제 이벤트가 연장되었는데 중간에 비어있는 날이 존재하여 몇 분 끄적여서 만들어 본 쿼리가격이 맞는지 검색해서 원본 테이블에 업데이트 형식 12345678910111213141516171819UPDATE `event_user_market_buy` AS aINNER JOIN( SELECT a.`user_key` , (a.`buy_money` + b.`shop_price`) as `sum_price` , truncate(((a.`buy_money` + b.`shop_price`) / 30000), 0) as `sum_send_count` FROM `event_user_market_buy` as a INNER JOIN ( SELECT sum(`shop_price`) as `shop_price`, `user_k.. 2019. 1. 11. Mysql Master Slave 동기화 오류 시 처리 마스터와 슬레이브가 동기화 되고 있지 않아서 찾아 보니, 마스터랑 슬레이브랑 position이 맞질 않는다. 이런 -.- 알고 보니, 테이블을 추가 했는데 슬레이브 쪽에 권한이 없어서 오류...그럼 이것 저것 알아보고 후다닥 처리 했다. 일단 리눅스에 접속해서 mysql에 접속해야 한다.master랑 slave쪽 각각 local로 설치되어 있기에, 간단하게 접속할 수 있다. mysql -u 유저명 -p --port 포트 --host 127.0.0.1 이렇게 명령어를 치면 비밀번호 입력란이 나온다. 비밀번호를 입력하고 난 뒤 master와 slave에서 show master status를 친다.이 때, file안에 정보와 position이 맞질 않으면 동기화가 제대로 되지 않는 것이다. Master Sla.. 2018. 10. 15. MyISAM, MEMORY 엔진의 잠금 MyISAM, MEMORY 엔진의 잠금- 자체적인 잠금이 존재하지 않고, MySQL의 테이블 락을 그대로 사용- 쿼리 단위로 락을 걸기 때문에 데드락이 발생하지 않는다. - InnoDB를 제외한 대부분이 테이블 락 사용- 잠금 튜닝1. SHOW STATUS LIKE 'Table%'; 1234show status like 'table%'; #잠금 비율 = (Table_locks_waited / (Table_locks_immediate + Table_locks_waited)) * 100;select (2106 / (37906461 + 2106)) * 100; cs 2. 수치가 높을 경우, InnoDB로 변환하는 것을 고려- 테이블 수준의 잠금 확인 및 해제1. Lock을 걸고 오류가 나거나 하면 unlock.. 2018. 10. 12. 이전 1 ··· 3 4 5 6 7 8 9 다음