MySQL (14) 썸네일형 리스트형 [ MySQL ] DBMS의 검색 속도 1. 라이브러리 캐시 적중률 더보기 라이브러리 캐시 적중률이 높으면 검색 시간이 줄어든다. 옵티마이저가 실행계획을 계산하고 프로시저를 생성하는 데는 많은 시간과 자원이 소요된다. 프로시저 캐싱을 통해 이런 시간과 자원을 절약한다. ※ 옵티마이저가 수행하는 작업들 테이블, 컬럼, 인덱스 구조에 관한 기본 정보 오브젝트 통계 : 테이블 통계, 인덱스 통계, (히스토그램을 포함한) 컬럼 통계 시스템 통계 : CPU 속도, Single Block I/O 속도, Multiblock I/O 속도 등 옵티마이저 관련 파라미터 2. 논리적 I/O 더보기 이론상으로 접근해야 할 디스크 I/O의 크기. 논리적 I/O는 일정하다. 우리가 제어할 수 있는 요소는 논리적 I/O이다. 3. 물리적 I/O 더보기 실제로 접근하게 .. [MySQL] DBMS의 데이터 검색 절차 1. 사용자가 SQL을 작성 더보기 사용자가 자신이 필요한 데이터를 SQL로 작성한다. SQL은 Structured Query Language로 구조화된 질의 언어이다. 구조화란 원하는 결과의 구조를 나타내는 것을 뜻한다. 2. SQL 파싱 더보기 SQL 구문을 분석하는 작업이다. 구체적으로 문장을 분석해서 트리로 구성하는 작업이다. 3. 캐싱 컴토 더보기 라이브러리 캐시에 저장된 프로시저가 있는지 검토한다. 저장된 프로시저가 있으면 프로시저를 실행해서 데이터 블록을 읽어온다. 캐시에 저장된 프로시저를 사용하는 것을 소프트 파싱이라고 한다. ※ 라이브러리 캐시 프로시저를 캐싱하는 공간. 옵티마이저가 실행계획을 계산하고 프로시저를 생성하는 데는 많은 시간가 자원이 소요된다. 프로시저 캐싱을 통해 이런 시간.. [ MySQL ] Transaction의 이해 트랜잭션이란? 더보기 여러 SELECT , INSERT , UPDATE , DELETE 작업을 묶어둔 DB의 논리적인 작업 단위. 트랜잭션의 핵심은? 더보기 All or Nothing 모두 반영하거나 모두 반영하지 않거나. 트랜잭션의 예 더보기 예) INSERT INTO orders ( user_it , item_id , price , amount ) VALUES ( 177 , 30 , 10000 , 3 ) UPDATE items SET stock_count = stock_count - 3 WHERE item_id = 30 COMMIT; 원자성(Atomicity) 더보기 원자 처럼 더이상 쪼개질 수 없는 작업의 단위다. 2개의 커넥션을 한 트랜잭션으로 묶으려면? 더보기 2개의 커넥션은 한 트랜잭션에 묶을.. [ MySQL ] 쿼리 최적화 [ MySQL 정리내용 전체목록 ] 사용하지 않는 컬럼 가져오지 않기 더보기 SELECT * FROM board WHERE board_num BETWEEN 1 AND 100 위의 쿼리는 게시글 목록을 보여주는데 사용하는 쿼리이다. * 를 사용해서 모든 컬럼을 가져오고 있는데 글의 상세내용(board_contents) 처럼 목록에서 사용하지 않을 컬럼들도 모두 가져오고있다. 이런 부분은 비용의 낭비이면서 슬로우 쿼리의 원인이 된다. 이전 1 2 3 4 다음