MYSQL(8)
-
MySQL Partition, 제대로 이해하기 (1)
MySQL의 Parition 개념과 특징을 알아보는 것이 본 포스팅의 목표입니다. 안녕하세요. 이번 포스팅은 Parition에 대해 다루고자 합니다. Parition은 대용량 데이터를 처리해야한다면 반드시 알아둘 필요가 있습니다. 이번 포스팅에서는 전반적인 이해와 원리를 다루며, 이어지는 포스팅 MySQL Partition, 제대로 사용하기 (2) 에서 실제 사용법에 대해 다룹니다. 해당 포스팅의 모든 도식은 직접 그린 것으로 출처를 명시하셔야 합니다. Partition? Partition이란 논리적으로 하나의 테이블이지만 실제로는 여러 개의 테이블로 분리해서 관리하는 기능입니다. 마치 동일한 형식의 한 개의 테이블을 사용하고 있는 것 같지만, 실제적으로는 여러 개의 물리 파일로 데이터들을 분할하여 보관..
2022.09.06 -
Bulk UPSERT 성능 테스트 - Spring
본 포스팅의 목표는 Spring - Mabatis 에서 ON DUPLICATE KEY UPDATE를 이용한 대량의 데이터를 추가/업데이트하는 것입니다. 안녕하세요. 이번 포스팅은 대량의 데이터를 업데이트할 때 효과적인 두 번째 방법 소개하고자 합니다. MySQL 이나 MariaDB에서 INSERT와 UPDATE를 여러 개를 한 번에 실행할 수 있는 ON DUPLICATE KEY UPDATE 구문입니다. 테스트를 통해 어느정도의 시간이 걸리는지를 확인해보겠습니다. 첫 번째 방법은 지난 포스팅에서 다룬 MySQL의 Temporary Table를 사용하는 것이었는데요. Temporary Table과의 속도 비교도 같이 진행할 예정입니다. ON DUPLICATE KEY UPDATE를 이용한 UPSERT는 MyB..
2022.07.13 -
Bulk Update, Temporary Table 성능 테스트 - Spring
Spring - Mabatis에서 temporary 테이블을 이용한 대량의 데이터를 업데이트하는 것이 본 포스팅의 목표입니다. 안녕하세요. 대량의 데이터를 업데이트할 때 효과적인 방법을 소개하고자 합니다. MySQL의 Temporary Table를 사용하는 것인데요. MyBatis에서 Bulk Update를 구현해야 할 때 유용합니다. 테스트를 통해 어느정도의 시간이 걸리는지를 확인할텐데요. 비교를 위해 Temporary Table를 사용한 Bulk Update와여러 줄의 Update 문을 실행했을 때의 속도를 비교합니다. 참고로, 이번 포스팅에 이어 다음 포스팅은 Upsert(ON DUPLICATE KEY UPDATE) 를 테스트 해볼 예정입니다. Update + Insert 시 어떻게 하면 가장 빠를..
2022.07.10 -
MySQL FullText Search, 제대로 이해하기
MySQL의 fulltext search 에 대한 이해와 MATCH AGAINST 사용법을 간단히 알아보는 것이 해당 포스팅의 목표입니다. 후속 포스팅으로 FULLTEXT 검색 파서 중 하나인 "ngram" 사용법에 대해 다룰 때 구문 사용법을 조금 더 자세히 알아볼 예정이며, 해당 포스팅에서는 FullText 기본적인 내용과 활용법에 대해 알아보고자 합니다. Full-Text Searches MySQL을 사용할 때, LIKE 연산을 통한 패턴 일치 검색을 사용하고는 합니다. LIKE 연산을 통해 검색을 하게 되면 인덱스를 통한 검색을 못할 때가 생기곤 하는데요. 이럴 때 고려해볼 수 있는 것이 바로 오늘 다룰 전문 검색, Full-Text 검색입니다. FullText 검색은 단어 또는 구문에 대한 검색..
2022.04.24 -
Spring MVC, DB 연결하기
안녕하세요 ~.~ 요즘은 Spring을 다시 잡고 있어서 스프링 시리즈를 기획하고 있어요. 2부에서는 lombok과 JDBC를 연결하는 과정에 대해서 다뤄볼 예정입니다. **************** INDEX ***************** 1 부 🌱 Spring Project 2부 🤖 JDBC 🌷 Oracle 11g 🐬 MySQL ******************************************** 🕶 개발 환경 운영체제 - macOS Big Sur (version 11.2.3) IDE - IntelliJ (Eclipse와는 생성되는 프로젝트 구조가 다릅니다) Server - Apache Tomcat JDK - 1.8 🎲 JDBC JDBC는 Java Database Connectivity의..
2021.04.18 -
SQL SELECT, 제대로 사용하기 - where 조건절
안녕하세요. 지난 포스팅에서DML이 무엇인지, SELECT, INSERT, UPDATE, DELETE에 대해 알아보았습니다. 이번에는 SELECT문에 대한 다양한 필터링을 알아보도록 하겠습니다. ***************** INDEX ***************** [ 1장 ] 1. 조건 & 관계 연산자 2. BETWEEN...AND 3. IN 4. LIKE [ 2장 ] 5. GROUP BY - HAVING 6. ORDER BY 7. DISTINCT 8. LIMIT ******************************************** 지난 포스팅에서 SELECT문을 소개했습니다. 다시 한 번 볼까요❓ SELECT FROM [ WHERE condition ] [ GROUP BY ] [ HAV..
2020.06.20