db 3장. 데이터 2024. 9. 10. 본 포스트는 사내 스터디를 진행하며 정리한 포스트입니다이번 장에서는?간접 쿼리 최적화를 시작하려고 한다직접 쿼리 최적화가 많은 문제를 해결하지만 전부를 해결해 주는 것은 아닙니다잠깐 직접 vs 간접 쿼리 최적화 복습직접 쿼리 최적화: 쿼리와 인덱스를 변경하는 일간접 쿼리 최적화: 데이터와 접근 패턴을 변경하는 일적은 데이터는 더 나은 성능을 가져온다데이터가 적을수록 시스템 리소스(CPU, 램, 스토리지 등)가 적게 필요하므로 데이터를 줄임으로써 성능을 향상시킬 수 있다 세가지 비밀먼저 MySQL 성능에 관한 세가지 비밀을 알아보자위와 같은 문제들을 항상 밝히지 않는 이유는 문제를 복잡하게 만들 수 있고, 직관적이지 않기 때문이다인덱스가 도움이 되지 않을 수 있다인덱스는 성능에서 핵심이지만 좋은 인덱스.. 2장. 인덱스와 인덱싱 2024. 8. 27. 본 포스트는 사내 스터디를 진행하며 정리한 포스트입니다장을 본격적으로 들어가기전인덱스는 최고이자 최상의 영향력을 미치기에 대량의 데이터에서는 인덱스가 필수적이다MySQL 성능에는 적절한 인덱스와 인덱싱이 필요하며, 이번 장에서는 두 가지에 대해 자세히 설명한다하드웨어와 MySQL 튜닝이 MySQL 성능을 향상하기 위한 효율적인 해결책이 아니다(일정 수준이 지나면 비용대비 성능향상이 안되서 그런듯..)어떻게 인덱스를 생성해야 최대의 효과를 발휘할 수 있는지인덱스가 효과를 발휘하지 못하는 이유효과적인 테이블 조인 알고리즘 설명(적절한 인덱스 설명이될듯) 스케일업을 고민해야하는 상황일반적으로 MySQL 성능이 만족스럽지 않다고해서 스케일업, 하드웨어 업그레이드부터 생각하지 마라하드웨어 성능 부족으로 명백하게.. 1장. 쿼리 응답 시간 2024. 8. 22. 본 포스트는 사내 스터디를 진행하며 정리한 포스트입니다성능은 곧 쿼리 응답 시간입니다.책의 목적본 책의 목적은 MySQL 성능을 현저하게 개선하는 것이며, 다양한 측면에서 방안을 탐구MySQL을 관리하는 입장이 아니라 사용하는 입장에서 기술 쿼리 응답 시간이란?MySQL이 쿼리를 실행하는 데 소요되는 시간쿼리를 받고나서 결과 세트를 클라이언트에 전송한 시점까지의 경과 시간을 의미 쿼리 응답 시간 분석을 위한 지표핵심지표로써 쿼리 응답 시간을 집중해야한다이를 분석하기 위해 쿼리 보고를 이해하는 것이 중요하다소스쿼리 메트릭은 2개의 소스에서 비롯되며 MySQL 배포 및 버전에 따라 다릅니다쿼리 메트릭을 제공하는 것으로 슬로 쿼리 로그, 성능 스키마가 존재슬로 쿼리 로그: 디스크에 있는 로그 파일성능 스키마.. JDBC Statement vs PreparedStatement 2021. 9. 24. Statement JDBC API 인터페이스중 한 가지로 SQL 쿼리를 실행하는데 사용할 수 있다 문자열 기반으로 SQL 쿼리를 실행하는 데 사용됩니다 ( 문자열 그대로를 SQL 쿼리로 받아드림 ) 하지만 문자열이기 때문에 SQL 문자열을 연결할 때, 코드 가독성이 떨어진다 SQL 인젝션에 취약하다 매개변수를 전달하거나 바인딩 할 수 없다 매번 쿼리를 수행할 때마다 쿼리 문장 분석 -> 컴파일 -> 실행의 단계를 모두 거치게 된다 ( 쿼리 캐싱을 사용하지 않는다 ) 주로 고정적인 DDL(create, alter... ) 구문에서 사용된다 PreparedStatement Statement와 마찬가지로 JDBC API 인터페이스중 한 가지로 SQL 쿼리를 싱행하는데 사용할 수 있습니다 Statement를 확.. 이전 1 다음