[MySQL] MySQL은 실행 계획과 쿼리 결과 캐싱따위 하지 않는 상DB인 것인가?
·
Backend/MySQL
😇 결론을 내리지 못한 포스팅입니다. 추후 소리 소문없이 수정될 수 있습니다.1. Introduction 📌 Why should we do parameter binding?한 달 전쯤, 팀 배정을 처음 받고 업무를 하다가 사수분께 "Query에 Parameter Binding을 해야 하는 이유가 뭔지 아시나요?"라는 질문을 받았었습니다. 🙋🏻‍♂️: paramter binding으로 전달해야 SQL Injection을 방어할 수 있기 때문이죠! (파라미터로 전달된 값은 순수한 데이터로만 처리 되기 때문에 명령어로 해석이 되지 않기 때문!)👨‍🏫: 오, 그것도 맞아요. 그런데 다른 이유도 있어요!🙍🏻‍♂️: ..? 취업 전까지는 DB를 깊게 파야할 정도로 성능 문제가 발생하지도 않았고, 애..
[MySQL] The total number of locks exceeds the lock table size
·
Backend/MySQL
대규모 데이터를 삽입해서 테스트를 하기 위해 JDBC로 Batch Insert를 하고 있는데, 갑자기 제목과 같은 에러가 나타났다. user 데이터 1억 개, user 테이블을 참조하는 device_token 데이터 10억 개를 넣는데,이해가 안 가는 게 Batch size를 10,000으로 잡았을 때, user 데이터는 잘 삽입하더니 device_token 삽입할 때는 에러가 발생한다.  MySQL Error 1206, 데이터 엔지니어의 눈으로 바라보기★ 부제 : 데이터엔지니어와 데이터분석가의 경계 “The total number of locks exceeds the lock table size” 락의 총합이 락테이블 사이즈를 초과했다. 무슨 뜻일까? 냉큼 buffer_size를 늘이라고 해서 늘린다면..
[MySQL] goormIDE에 MySQL 서버 구축하기
·
Backend/MySQL
💡 해당 포스팅은 2021년 10월 8일 이전에 등록한 goorm 계정이 있어야 합니다. 현재 진행 중인 개인 프로젝트가 있는데, 클라우드에서 지원하는 MySQL을 사용하자니 요금이 어마무시하게 청구가 되길래 고민하던 중 goormIDE에서 컨테이너 1개를 무료로 제공해준다는 사실을 알게되어, DB 서버로 사용하게 되었다. 이로써 AWS를 빌드 서버로 만들고, NCP를 배포 서버, goorm을 DB 서버로 만드는 대환장 아키텍처를 실현할 수 있게 되었다. ㅋㅋㅋㅋㅋ 구름HOME 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 위 링크에서 회원가입을 하고 컨테이너를 생성해주어야 한다. 나는 이미 ..
[SQL] Stored Procedure
·
Backend/MySQL
우재남님의 "혼자 공부하는 SQL"을 기반으로 학습한 게시물입니다. 📕 목차 1. What is Stored Procedure? 2. Stored Funcion & Cursor 3. Trigger 1. What is Stored Procedure? 📌 Concept Stored Procedure = SQL + 프로그래밍 기능 예컨데 일련의 쿼리를 모아 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 🟡 개념과 형식 DELIMITER $$ CREATE PROCEDURE [스토어드 프로시저 이름](IN 또는 OUT 매개변수) BEGIN -- SQL 프로그래밍 코드 END $$ DELIMITER; CALL [스토어드 프로시저 이름](); 자주 사용하는 쿼리를 묶어 호출만 하면 사용할 수 있다. 장점 하나의 요..