• 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 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 1. 데이터 형식 요약
    2. 수치형
    3. 날짜와 시간 형
    4. 문자열
    5. 공간 데이터의 확장
    1. 공간 데이터 형식
    2. OpenGIS 공간 모델
    3. 공간 데이터 사용
    1. 지원되는 공간 데이터 형식
    2. 공간 컬럼 작성
    3. 공간 컬럼에 데이터 이입
    4. 공간 데이터 가져 오기
    5. 공간 분석의 최적화
    6. 공간 인덱스 만들기
    7. 공간 인덱스 작업
    6. 데이터 형 기본값
    7. 데이터 유형의 스토리지 요구 사항
    8. 컬럼에 적절한 형태의 선택
    9. 기타 데이터베이스 엔진의 데이터 형식 사용
  • 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 새로운 기능

11.5.3.6 공간 인덱스 만들기

MyISAM 테이블은 MySQL은 일반적으로 지수를 작성하기위한 유사한 구문을 사용하지만, SPATIAL 키워드를 사용하여 공간 인덱스를 만들 수 있습니다. 공간 인덱스의 컬럼은 NOT NULL 로 선언해야합니다. 다음 각 예제에서는 공간 인덱스를 만드는 방법을 보여줍니다.

  • CREATE TABLE 을 사용하는 경우 :

     CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX (g)) ENGINE = MyISAM;
    
  • ALTER TABLE 을 사용하는 경우 :

     ALTER TABLE geom ADD SPATIAL INDEX (g);
    
  • CREATE INDEX 를 사용하는 경우 :

     CREATE SPATIAL INDEX sp_index ON geom (g);
    

SPATIAL INDEX 는 R 트리 인덱스를 만듭니다. 공간 컬럼의 비 공간 인덱스를 지원하는 스토리지 엔진은 B 트리 인덱스가 생성됩니다. 스페이스 값에 대한 B 트리 인덱스는 정확한 값을 검색하는 데 도움이되지만 범위 검색에 도움이되지 않습니다.

공간 컬럼의 인덱스 작성에 대한 자세한 내용은 섹션 13.1.13 "CREATE INDEX 구문" 을 참조하십시오.

공간 인덱스를 삭제하려면 다음과 같이 ALTER TABLE 또는 DROP INDEX 를 사용합니다.

  • ALTER TABLE 을 사용하는 경우 :

     ALTER TABLE geom DROP INDEX g;
    
  • DROP INDEX 를 사용하는 경우 :

     DROP INDEX sp_index ON geom;
    

예 : 테이블 geom 에 32,000 개 이상의 기하 도형이 포함되어 있고, 그 모양이 형태 GEOMETRY 컬럼 g 에 저장되는 것으로합니다. 또한이 테이블 개체 ID 값을 저장하기 위해 AUTO_INCREMENT 컬럼 fid 도 포함되어 있습니다.

mysql> DESCRIBE geom;
+-------+----------+------+-----+---------+----------------+
| Field | Type     | Null | Key | Default | Extra          |
+-------+----------+------+-----+---------+----------------+
| fid   | int(11)  |      | PRI | NULL    | auto_increment |
| g     | geometry |      |     |         |                |
+-------+----------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> SELECT COUNT(*) FROM geom;
+----------+
| count(*) |
+----------+
|    32376 |
+----------+
1 row in set (0.00 sec)

컬럼 g 에 공간 인덱스를 추가하려면 다음 문을 사용합니다.

 mysql> ALTER TABLE geom ADD SPATIAL INDEX(g) ENGINE=MyISAM;
 Query OK, 32376 rows affected (4.05 sec)
 Records : 32376 Duplicates : 0 Warnings : 0


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