• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 1. MySQL Server
    2. MySQL Server 로그
    3. 하나의 시스템에서 여러 MySQL 인스턴스 실행
    4. DTrace를 사용하여 mysqld 추적
    1. mysqld DTrace 프로브 설명
    1. 연결 프로브
    2. 명령 프로브
    3. 쿼리 프로브
    4. 쿼리 분석 프로브
    5. 쿼리 캐시 프로브
    6. 쿼리 실행 프로브
    7. 행 레벨 프로브
    8. 행 읽기 프로브
    9. 인덱스 프로브
    10. 잠금 프로브
    11. 파일 정렬 프로브
    12. 명령문 프로브
    13. 네트워크 프로브
    14. Keycache 프로브
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

5.4.1.11 파일 정렬 프로브

파일 정렬 조사가 파일 정렬 조작이 테이블에 적용 될 때마다 트리거됩니다. 파일 정렬과 그것이 발생하는 조건에 대한 자세한 내용은 섹션 8.2.1.15 "ORDER BY 최적화" 를 참조하십시오.

  filesort-start (database, table)
 filesort-done (status, rows) 
  • filesort-start : 테이블에서 파일 정렬 작업을 시작했을 때 트리거됩니다. 프로브에 대한 2 개의 인수 인 database 와 table 정렬되는 테이블을 식별합니다.

  • filesort-done : 파일 정렬 작업이 완료되면 트리거됩니다. 2 개의 인수가 제공되며 이들은 status (성공이면 0, 실패의 경우는 1) 및 파일 정렬 과정에서 정렬 된 행 수입니다.

다음 스크립트는이 예를 나타내는 것으로, 메인 쿼리의 기간 이외에 파일 정렬 처리 기간을 추적합니다.

  #! / usr / sbin / dtrace -s

 #pragma D option quiet

 dtrace ::: BEGIN
 {
    printf ( "% - 2s % -10s % -10s % 9s % 18s % -s \ n"
           "St", "Who", "DB", "ConnID", "Dur microsec", "Query");
 }

 mysql * ::: query-start
 {
    self-> query = copyinstr (arg0);
    self-> who = strjoin (copyinstr (arg3) strjoin ( "@", copyinstr (arg4)));
    self-> db = copyinstr (arg2);
    self-> connid = arg1;
    self-> querystart = timestamp;
    self-> filesort = 0;
    self-> fsdb = "";
    self-> fstable = "";
 }

 mysql * ::: filesort-start
 {
   self-> filesort = timestamp;
   self-> fsdb = copyinstr (arg0);
   self-> fstable = copyinstr (arg1);
 }

 mysql * ::: filesort-done
 {
    this-> elapsed = (timestamp - self-> filesort) / 1000;
    printf ( "% 2d % -10s % -10s % 9d % 18d Filesort on % s \ n",
           arg0, self-> who, self-> fsdb,
           self-> connid, this-> elapsed, self-> fstable);
 }

 mysql * ::: query-done
 {
    this-> elapsed = (timestamp - self-> querystart) / 1000;
    printf ( "% 2d % -10s % -10s % 9d % 18d % s \ n",
           arg0, self-> who, self-> db,
           self-> connid, this-> elapsed, self-> query);
 }

파일 정렬을 트리거하는 ORDER BY 절이있는 쿼리를 큰 테이블에서 실행 한 다음 테이블에 인덱스를 만들어 동일한 쿼리를 반복하여 실행 속도의 차이를 확인 할 수 있습니다.

  St Who DB ConnID Dur microsec Query
  0 @localhost test 14 11335469 Filesort on t1
  0 @localhost test 14 11335787 select * from t1 order by i limit 100
  0 @localhost test 14 466734378 create index t1a on t1 (i)
  0 @localhost test 14 26472 select * from t1 order by i limit 100


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved