

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Aurora MySQL 中建立平行查詢資料庫叢集
<a name="aurora-mysql-parallel-query-creating-cluster"></a>

 若要建立具有平行查詢的 Aurora MySQL 叢集、為其新增執行個體，或執行其他管理操作，您可以使用與其他 Aurora MySQL 叢集相同的 AWS 管理主控台 AWS CLI 和技術。您可以建立新叢集來使用平行查詢。您也可以建立資料庫叢集來使用平行查詢，方法為從 MySQL 相容 Aurora 資料庫叢集的快照還原。如果不熟悉建立新 Aurora MySQL 叢集的程序，您可以在[建立 Amazon Aurora 資料庫叢集](Aurora.CreateInstance.md)尋找背景資訊和必要條件。

當您選擇 Aurora MySQL 引擎版本時，建議選擇最新可用版本。目前，所有可用的 Aurora MySQL 版本皆支援平行查詢。如果您使用最新版本，則可以更靈活地打開和關閉平行查詢，或者對現有叢集使用平行查詢。

 無論您建立新叢集，還是從快照還原，都會使用您搭配其他 Aurora MySQL 叢集執行的相同技術來新增資料庫執行個體。

您可以使用 Amazon RDS 主控台或 AWS CLI建立平行查詢叢集。

**Contents**
+ [使用主控台建立平行查詢叢集](#aurora-mysql-parallel-query-creating-cluster-console)
+ [使用 CLI 建立平行查詢叢集](#aurora-mysql-parallel-query-creating-cluster-cli)

## 使用主控台建立平行查詢叢集
<a name="aurora-mysql-parallel-query-creating-cluster-console"></a>

 您可以使用主控台來建立新的平行查詢叢集，如下所述。

**使用 建立平行查詢叢集 AWS 管理主控台**

1.  請遵循 中的一般 AWS 管理主控台 程序[建立 Amazon Aurora 資料庫叢集](Aurora.CreateInstance.md)。

1. 對於**引擎類型**，選擇 [Aurora MySQL]。

1. 對於**其他組態**，請選擇您為**資料庫叢集參數群組**建立的參數群組。對於 Aurora MySQL 2.09 或更新版本，需要使用此類自訂參數群組。在資料庫叢集參數群組中，指定參數設定 `aurora_parallel_query=ON` 和 `aurora_disable_hash_join=OFF`。這樣做會開啟叢集的平行查詢，並開啟與平行查詢結合運作的雜湊聯結最佳化。

**驗證新叢集是否可以使用平行查詢**

1. 使用上述技術建立叢集。

1. （對於 Aurora MySQL 第 2 版、第 3 版或第 8.4 版） 檢查`aurora_parallel_query`組態設定是否為 true。

   ```
   mysql> select @@aurora_parallel_query;
   +-------------------------+
   | @@aurora_parallel_query |
   +-------------------------+
   |                       1 |
   +-------------------------+
   ```

1. (若為 Aurora MySQL 第 2 版) 檢查 `aurora_disable_hash_join` 設定是否為 false。

   ```
   mysql> select @@aurora_disable_hash_join;
   +----------------------------+
   | @@aurora_disable_hash_join |
   +----------------------------+
   |                          0 |
   +----------------------------+
   ```

1.  使用某些大型資料表和資料密集型查詢時，請檢查查詢計畫，以確認某些查詢正在使用平行查詢最佳化。若要執行此作業，請依照 [確認哪些陳述式使用平行查詢](aurora-mysql-parallel-query-verifying.md) 中的程序進行。

## 使用 CLI 建立平行查詢叢集
<a name="aurora-mysql-parallel-query-creating-cluster-cli"></a>

 您可以使用 CLI 來建立新的平行查詢叢集，如下所述。

**使用 建立平行查詢叢集 AWS CLI**

1.  (選用) 檢查哪些 Aurora MySQL 版本與平行查詢叢集相容。若要執行這項操作，請使用 `describe-db-engine-versions` 指令並檢查 `SupportsParallelQuery` 欄位的值。如需範例，請參閱 [檢查平行查詢的 Aurora MySQL 版本相容性](aurora-mysql-parallel-query-optimizing.md#aurora-mysql-parallel-query-checking-compatibility)。

1.  (選用) 建立具有設定 `aurora_parallel_query=ON` 和 `aurora_disable_hash_join=OFF` 的自訂資料庫叢集參數群組。使用如下命令。

   ```
   aws rds create-db-cluster-parameter-group --db-parameter-group-family aurora-mysql8.0 --db-cluster-parameter-group-name pq-enabled-80-compatible
   aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name pq-enabled-80-compatible \
     --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot
   aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name pq-enabled-80-compatible \
     --parameters ParameterName=aurora_disable_hash_join,ParameterValue=OFF,ApplyMethod=pending-reboot
   ```

    如果您執行此步驟，請在後續 `--db-cluster-parameter-group-name {{my_cluster_parameter_group}}` 陳述式中指定選項 `create-db-cluster`。替代您自己的參數群組名稱。如果省略此步驟，請建立參數群組，並在稍後將其與叢集產生關聯，如 [在 Aurora MySQL 中開啟和關閉平行查詢。](aurora-mysql-parallel-query-enabling.md) 中所述。

1.  請遵循 中的一般 AWS CLI 程序[建立 Amazon Aurora 資料庫叢集](Aurora.CreateInstance.md)。

1. 指定以下一組選項：
   + 對於 `--engine`選項，使用 `aurora-mysql`。這些值會產生與 MySQL 5.7 或 8.0 分別相容的平行查詢叢集。
   +  針對 `--db-cluster-parameter-group-name` 此選項，指定您建立的 DB 叢集參數群組的名稱，並指定參數值 `aurora_parallel_query=ON`。如果省略此選項，您可以使用預設參數群組建立叢集，並在稍後加以修改來使用此類自訂參數群組。
   + 對於 `--engine-version` 選項，請使用與平行查詢相容的 Aurora MySQL 版本。如有必要，請使用 [在 Aurora MySQL 中最佳化平行查詢規劃平行查詢叢集](aurora-mysql-parallel-query-optimizing.md#aurora-mysql-parallel-query-planning) 中的程序來取得版本清單。

     以下程式碼顯示做法。將您自己的值替換為每個環境變數，例如 {{$ Cluster\_ID}}。此範例也會指定 `--manage-master-user-password` 選項來產生主要使用者密碼，並在 Secrets Manager 中管理該密碼。如需詳細資訊，請參閱[使用 Amazon Aurora 和 進行密碼管理 AWS Secrets Manager](rds-secrets-manager.md)。或者，您可以使用 `--master-password` 選項，自行指定和管理密碼。

     ```
     aws rds create-db-cluster --db-cluster-identifier {{$CLUSTER_ID}} \
       --engine aurora-mysql --engine-version 8.0.mysql_aurora.3.04.1 \
       --master-username {{$MASTER_USER_ID}} --manage-master-user-password \
       --db-cluster-parameter-group-name {{$CUSTOM_CLUSTER_PARAM_GROUP}}
     
     aws rds create-db-instance --db-instance-identifier {{${INSTANCE_ID}-1}} \
       --engine {{same_value_as_in_create_cluster_command}} \
       --db-cluster-identifier {{$CLUSTER_ID}} --db-instance-class {{$INSTANCE_CLASS}}
     ```

1. 驗證您已建立或還原的叢集是否具有可用的平行查詢功能。

   檢查 `aurora_parallel_query` 組態設定是否存在。如果此設定值為 1，則平行查詢已準備好供您使用。如果此設定值為 0，請先將其設定為 1，才能使用平行查詢。無論哪種方式，叢集都能夠執行平行查詢。

   ```
   mysql> select @@aurora_parallel_query;
   +------------------------+
   | @@aurora_parallel_query|
   +------------------------+
   |                      1 |
   +------------------------+
   ```

**使用 將快照還原至平行查詢叢集 AWS CLI**

1.  檢查哪些 Aurora MySQL 版本與平行查詢叢集相容。若要執行這項操作，請使用 `describe-db-engine-versions` 指令並檢查 `SupportsParallelQuery` 欄位的值。如需範例，請參閱 [檢查平行查詢的 Aurora MySQL 版本相容性](aurora-mysql-parallel-query-optimizing.md#aurora-mysql-parallel-query-checking-compatibility)。決定要用於還原叢集的版本。

1.  找出 Aurora MySQL 相容的叢集快照。

1. 請遵循 中的一般 AWS CLI 程序[從資料庫叢集快照還原](aurora-restore-snapshot.md)。

   ```
   aws rds restore-db-cluster-from-snapshot \
     --db-cluster-identifier {{mynewdbcluster}} \
     --snapshot-identifier {{mydbclustersnapshot}} \
     --engine aurora-mysql
   ```

1.  驗證您已建立或還原的叢集是否具有可用的平行查詢功能。請使用與 [使用 CLI 建立平行查詢叢集](#aurora-mysql-parallel-query-creating-cluster-cli) 中相同的驗證程序。