

# 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)
+ [MySQL 5.7 互換 Aurora MySQL バージョン 2](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 では、InnoDB テーブルの空間インデックス作成は MySQL 5.7 と 8.0 で使用できます。

  Aurora MySQL は、空間クエリで高度なパフォーマンスを得るために MySQL とは異なる空間インデックスの戦略を使用します。Aurora 空間インデックスの実装は、B-tree のスペースのフィルカーブを使用します。これは、R-tree よりも高度なパフォーマンスを空間範囲スキャンに提供することを目的としています。
**注記**  
Aurora MySQL では、空間リファレンス識別子 (SRID) が含まれているカラムで空間インデックスが定義されているテーブルのトランザクションを、別のトランザクションで更新するために選択されている領域に挿入することはできません。

次のデータ定義言語 (DDL) ステートメントは空間的なデータ型を使用する列にインデックスを作成するためにサポートされています。

### CREATE TABLE
<a name="Aurora.AuroraMySQL.Spatial.create_table"></a>

`SPATIAL INDEX` ステートメントの `CREATE TABLE` キーワードを使用して、空間インデックスを新しいテーブルの列に追加することができます。次に例を示します。

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

### ALTER TABLE
<a name="Aurora.AuroraMySQL.Spatial.alter_table"></a>

`SPATIAL INDEX` ステートメントの `ALTER TABLE` キーワードを使用して、空間インデックスを既存のテーブルの列に追加することができます。次に例を示します。

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

### CREATE INDEX
<a name="Aurora.AuroraMySQL.Spatial.create_index"></a>

`SPATIAL` ステートメントの `CREATE INDEX` キーワードを使用して、空間インデックスを既存のテーブルの列に追加することができます。次に例を示します。

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