

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

# 使用檢視
<a name="views"></a>

Amazon Athena 中的檢視是邏輯資料表，而非實體資料表。每次在查詢中參考檢視時，定義該檢視的查詢就會執行。您可以從 `SELECT` 查詢建立檢視，然後在未來的查詢中參考此檢視。

在 Athena 中，您可以使用兩種不同類型的檢視：Athena 檢視和 AWS Glue Data Catalog 檢視。

## 何時使用 Athena 檢視？
<a name="when-to-use-views"></a>

您建立 Athena 檢視可能是為了：
+ **查詢資料子集** – 例如，您可以從原始資料表建立包含資料欄子集的檢視，以簡化查詢資料。
+ **合併資料表** – 您可以使用檢視將多個資料表合併到一個查詢。當您有多個資料表，且想要使用 `UNION ALL` 合併它們時，您可以使用該表達式建立檢視，以簡化查詢已合併的資料表。
+ **隱藏複雜性** – 使用檢視以隱藏現有基礎查詢的複雜性並簡化使用者執行的查詢。基礎查詢通常包含資料表之間的聯結、欄清單中的表達式，以及其他 SQL 語法，導致難以了解和除錯。您可以建立檢視以隱藏複雜性並簡化查詢。
+ **最佳化查詢** – 您可以使用檢視來試驗最佳化技術，進而建立最佳化查詢。例如，如果您發現有一組 `WHERE` 條件、`JOIN` 順序或其他表達式可展現最佳效能，您可以使用這些子句和表達式來建立檢視。然後，應用程式可以對此檢視執行相當簡單的查詢。如果您後來發現有更好的方式可最佳化原始查詢，當您重新建立檢視時，所有應用程式就可立即利用最佳化基礎查詢。
+ **隱藏基礎名稱** – 您可以使用檢視來隱藏基礎資料表和資料欄名稱，並將維護問題減到最少 (如果這些名稱變更)。如果名稱發生變更，您可以直接使用新的名稱重新建立檢視。直接使用檢視 (而不是資料表) 的查詢可繼續執行，而不需要變更。

  如需詳細資訊，請參閱[使用 Athena 檢視](views-console.md)。

## 何時使用 AWS Glue Data Catalog 檢視？
<a name="when-to-use-views-gdc"></a>

當您想要跨 Amazon Athena 和 Amazon Redshift AWS 服務 的單一通用 AWS Glue Data Catalog 檢視時，請使用檢視。在 Data Catalog 檢視中，存取許可由建立檢視的使用者定義，而不是由查詢檢視的使用者定義。授予許可的這種方法被稱為*定義程式*語義。

下列使用案例顯示如何使用 Data Catalog 檢視。
+ **更大的存取權** – 您建立的檢視會根據使用者需要的許可層級，來限制資料存取權。例如，您可使用 Data Catalog 檢視，來阻止不在人力資源 (HR) 部門工作的員工查看可識別的個人身分資訊。
+ **確保完整記錄** – 透過將某些篩選條件套用至 Data Catalog 檢視，您可確保 Data Catalog 檢視中的資料記錄一律是完整的。
+ **增強的安全性** – 在 Data Catalog 檢視中，建立檢視的查詢定義必須完整，才能建立檢視。這使得 Data Catalog 檢視不易受到惡意執行者的 SQL 命令的影響。
+ **防止存取基礎資料表** – 定義程式語意可讓使用者存取檢視，而無需讓基礎資料表可供其使用。只有定義檢視的使用者才需要存取該資料表。

Data Catalog 檢視定義存放在 AWS Glue Data Catalog中。這意味著您可使用 AWS Lake Formation ，以透過資源授權、資料欄授權或以標籤為基礎的存取控制來授予存取權。如需有關在 Lake Formation 中授予和撤銷存取權的詳細資訊，請參閱《AWS Lake Formation 開發人員指南》**中的[授與和撤銷存取 Data Catalog 資源的許可](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html)。

如需詳細資訊，請參閱[在 Athena 中使用 Data Catalog 檢視](views-glue.md)。