

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

# 在 Amazon Athena 中進行 SQL 查詢的考量事項與限制
<a name="other-notable-limitations"></a>

在 Athena 中執行查詢時，請記住下列考量事項與限制：
+ **預存程序** – 不支援預存程序。
+ **分割區數量上限** – 您可以使用 `CREATE TABLE AS SELECT` (CTAS) 陳述式建立的分割區數量上限為 100。如需詳細資訊，請參閱 [CREATE TABLE AS](create-table-as.md)。如需因應措施，請參閱[使用 CTAS 和 INSERT INTO 來解決 100 個分割區限制](ctas-insert-into.md)。
+ **不支援的陳述式** – 不支援的陳述式如下所示。如需 Athena 中不支援的 DDL 陳述式的完整清單，請參閱 [不支援的 DDL](unsupported-ddl.md)。
  + 不支援 `CREATE TABLE LIKE`。
  + 不支援 `DESCRIBE INPUT` 和 `DESCRIBE OUTPUT`。
  + `MERGE` 陳述式僅支援交易型資料表格式。如需詳細資訊，請參閱[合併為](merge-into-statement.md)。
  + 不支援 `UPDATE` 陳述式。
  + 不支援 `DELETE FROM`。
+ **Trino 和 Presto 連接器** – 不支援 [Trino](https://trino.io/docs/current/connector.html) 和 [Presto](https://prestodb.io/docs/current/connector.html) 連接器。使用 Amazon Athena 聯合查詢來連接資料來源。如需詳細資訊，請參閱[使用 Amazon Athena 聯合查詢](federated-queries.md)。
+ **具有多個分割區的資料表逾時** – 在查詢具有數千個分割區的資料表時，Athena 可能會逾時。當資料表有許多非類型 `string` 的分割區時，就會發生這種情況。當您使用類型 `string` 時，Athena 會在中繼存放區層級剔除分割區。不過，在您使用其他資料類型時，Athena 會剔除伺服器端的分割區。您擁有的分割區越多，此程序所需的時間越長，您的查詢也越有可能逾時。如要解決此問題，請將您的分割區類型設定為 `string`，以便 Athena 在中繼存放區層級剔除分割區。這可以減少額外負荷，並防止查詢逾時。
+ **Amazon Glacier** 支援 – 如需有關查詢還原的 Amazon Glacier 物件的資訊，請參閱 [查詢還原的 Amazon Glacier 物件](querying-glacier.md)。
+ **檔案視為隱藏** – Athena 會將以底線 (`_`) 或點 (`.`) 開頭的來源檔案視為隱藏。如果要解決這個限制，請將檔案重新命名。
+ **資料列或資料欄大小限制** – 單一資料列或其資料欄的大小不可超過 32 MB。例如，當資料列包含 35 MB 的單一資料欄時，則會超過此限制。這是服務的硬性限制且無法被變更。
+ **文字檔案中一行長度上限** – 文字檔案中單一行的大小上限為 200 MB。超過此限制時也會產生錯誤訊息 TextLineLengthLimitExceededException：換行前位元組數過多。若要解決此限制，請確保文字檔案中的單一行都不會超過 200 MB。
+ **LIMIT 子句上限** – 可指定給 `LIMIT` 子句的資料列數上限為 

  9223372036854775807。使用 `ORDER BY` 時，LIMIT 子句所支援的資料列數上限為 2147483647。超過此限制會導致顯示錯誤訊息 NOT\$1SUPPORTED: ORDER BY LIMIT > 2147483647 is not supported (NOT\$1SUPPORTED：不支援 ORDER BY LIMIT > 2147483647)。
+ **information\$1schema** – 如果您有少量到中等數量的 AWS Glue 中繼資料，查詢`information_schema`效能最高。如果您有大量中繼資料，則可能會出現錯誤。如需查詢`information_schema`資料庫以取得 AWS Glue 中繼資料的資訊，請參閱 [查詢 AWS Glue Data Catalog](querying-glue-catalog.md)。
+  **陣列初始化** – 由於 Java 中的限制，無法在 Athena 中初始化具有超過 254 個引數的陣列。
+ **隱藏的中繼資料欄** – 檢視不支援 Hive 或 Iceberg 隱藏的中繼資料欄 `$bucket`、`$file_modified_time`、`$file_size` 和 `$partition`。如需有關在 Athena 中使用 `$path` 中繼資料欄的資訊，請參閱 [在 Amazon S3 中取得來源資料的檔案位置](select.md#select-path)。

如需查詢字串長度上限、查詢逾時配額，以及作用中 DML 查詢數量配額的相關資訊，請參閱[Service Quotas](service-limits.md)。