

# Amazon Aurora MySQL의 개요
<a name="Aurora.AuroraMySQL.Overview"></a>

다음 단원에는 Amazon Aurora MySQL의 개요가 나와 있습니다.

**Topics**
+ [Amazon Aurora MySQL 성능 개선 사항](#Aurora.AuroraMySQL.Performance)
+ [Amazon Aurora MySQL 및 지형 정보 데이터](#Aurora.AuroraMySQL.Spatial)
+ [Aurora MySQL 버전 8.4은 MySQL 8.4과 호환](AuroraMySQL.MySQL84.md)
+ [Aurora MySQL 버전 3은 MySQL 8.0과 호환](AuroraMySQL.MySQL80.md)
+ [Aurora MySQL 버전 2는 MySQL 5.7과 호환](AuroraMySQL.CompareMySQL57.md)

## Amazon Aurora MySQL 성능 개선 사항
<a name="Aurora.AuroraMySQL.Performance"></a>

Amazon Aurora에는 고급 상용 데이터베이스의 다양한 필요를 지원하는 성능 향상이 포함되어 있습니다.

## Amazon Aurora MySQL 및 지형 정보 데이터
<a name="Aurora.AuroraMySQL.Spatial"></a>

다음 목록은 기본 Aurora MySQL 공간 기능을 요약한 것으로서 해당 기능이 MySQL의 공간 기능에 어떻게 상응하는지 설명합니다.
+ Aurora MySQL 버전 2는 MySQL 5.7과 동일한 공간 데이터 유형 및 공간 관계 기능을 지원합니다. 이러한 데이터 유형 및 기능에 대한 자세한 내용은 MySQL 5.7 설명서의 [공간 데이터 유형](https://dev.mysql.com/doc/refman/5.7/en/spatial-types.html) 및 [공간 관계 기능](https://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html)을 참조하세요.
+ Aurora MySQL 버전 3은 MySQL 8.0과 동일한 공간 데이터 유형 및 공간 관계 기능을 지원합니다. 이러한 데이터 유형 및 기능에 대한 자세한 내용은 MySQL 8.0 설명서의 [공간 데이터 유형](https://dev.mysql.com/doc/refman/8.0/en/spatial-types.html) 및 [공간 관계 기능](https://dev.mysql.com/doc/refman/8.0/en/spatial-relation-functions-object-shapes.html)을 참조하세요.
+ Aurora MySQL 버전 8.4는 MySQL 8.4과 동일한 공간 데이터 유형 및 공간 관계 기능을 지원합니다. 이러한 데이터 유형 및 기능에 대한 자세한 내용은 MySQL 8.4 설명서의 [공간 데이터 유형](https://dev.mysql.com/doc/refman/8.4/en/spatial-types.html) 및 [공간 관계 기능](https://dev.mysql.com/doc/refman/8.4/en/spatial-relation-functions-object-shapes.html)을 참조하세요.
+ Aurora MySQL은 InnoDB 테이블에서 공간 인덱싱 기능을 지원합니다. 이 기능을 사용하면 공간 데이터에 대한 쿼리를 위해 대규모 데이터 세트에 대한 쿼리 성능을 향상시킬 수 있습니다. MySQL의 경우 MySQL 5.7과 8.0에서 InnoDB 테이블에 대한 공간 인덱싱 기능이 제공됩니다.

  Aurora MySQL은 공간 쿼리 시 성능을 높이기 위해 MySQL과는 다른 공간 인덱싱 전략을 사용합니다. Aurora 공간 인덱스 구현에서는 R-트리보다 나은 공간 범위 스캔 성능을 제공하기 위해 B-트리에서 공간 채움 곡선을 사용합니다.
**참고**  
Aurora MySQL에서는 SRID(공간 참조 식별자)가 있는 열에 공간 인덱스가 정의된 테이블의 트랜잭션은 다른 트랜잭션에서 업데이트할 수 있도록 선택한 영역에 삽입할 수 없습니다.

다음 데이터 정의 언어(DDL) 문은 공간 데이터 유형을 사용하는 열에 인덱스를 생성할 목적으로 지원됩니다.

### 테이블 생성
<a name="Aurora.AuroraMySQL.Spatial.create_table"></a>

`SPATIAL INDEX` 문에서 `CREATE TABLE` 키워드를 사용하여 새 테이블의 열에 공간 인덱스를 추가할 수 있습니다. 다음은 그 한 예입니다.

```
CREATE TABLE test (shape POLYGON NOT NULL, SPATIAL INDEX(shape));
```

### 테이블 변경
<a name="Aurora.AuroraMySQL.Spatial.alter_table"></a>

`SPATIAL INDEX` 문에서 `ALTER TABLE` 키워드를 사용하여 기존 테이블의 열에 공간 인덱스를 추가할 수 있습니다. 다음은 그 한 예입니다.

```
ALTER TABLE test ADD SPATIAL INDEX(shape);
```

### 인덱스 생성
<a name="Aurora.AuroraMySQL.Spatial.create_index"></a>

`SPATIAL` 문에서 `CREATE INDEX` 키워드를 사용하여 기존 테이블의 열에 공간 인덱스를 추가할 수 있습니다. 다음은 한 예입니다.

```
CREATE SPATIAL INDEX shape_index ON test (shape);
```