---
schema_version: "1"
id: 63a5676502a1930433b1c83cb7e60b707191f6332431f6b53a43ba975a284155
title: 聯結的假設存在參考完整性
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/public/desktop/joins_assume_refinteg.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-tw/joins_assume_refinteg.htm
source_site: help.tableau.com
content_type: documentation
content_hash: a8aebe771b0ee767ad90f7f9e2ce9e0b93b2c9ec6500dd8059ab12514feaa38d
description: Improve join query performance by assuming referential integrity.
---
[跳至主要內容](#main-content)

# 聯結的假設存在參考完整性

有些情況下，您可以從「資料」功能表中選取「假設存在參考完整性」選項來改善聯結的查詢效能。如果使用此選項，Tableau 將僅在檢視中的欄位明確引用查詢中的聯合資料表時才包含該表。

![資料功能表，其中醒目提示假定參考完整性的選項。](/tableau/current/zh-tw/public/desktop/zh-tw/Img/joins_assumerefinteg.png)

如果您知道資料具有參考完整性（請參閱下面的定義）但資料庫未強制或無法強制參考完整性，則適合於使用此設定。如果您可以選取在資料庫中設定參考完整性，那麼這是一個比使用此設定更好的選取，因為它可以同時提高資料庫和 Tableau 的性能。Tableau 中的 \[假設存在參考完整性\] 選項只影響 Tableau 端的性能。如果您的資料沒有參考完整性而您啟用了此設定，則查詢結果可能不可靠。

若要瞭解什麼是參考完整性，請假設連線到包含兩個表的銷售資料： \[銷售額\] 和 \[產品目錄\] 。這兩個表如下所示：

<table><colgroup></colgroup><tbody><tr><td><p><b>銷售額</b></p><table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">產品 ID（外鍵）</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">銷售額</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">交易日期</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">100</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">2012/10/1</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2000</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">2012/10/2</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">50</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">2012/9/30</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">10</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">2012/8/21</td></tr></tbody></table></td><td><p><b>產品目錄</b></p><table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">產品 ID（主鍵）</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">產品名稱</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">10 吋平板電腦</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">智慧型電話</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">桌燈</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">4</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">記憶體條</td></tr></tbody></table></td></tr></tbody></table>

由於銷售的所有產品都必須在 \[產品目錄\] 中列出，因此銷售表中的每一列在 \[產品目錄\] 表中都有一個對應的列。這兩個表透過產品 ID 聯接後，您會得到與下面類似的表：

<table class="table--plain"><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">產品 ID</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">產品名稱</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">產品 ID</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">銷售額</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">交易日期</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">10 吋平板電腦</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">100</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">2012/10/1</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">10 吋平板電腦</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">1</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2000</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">2012/10/2</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">智慧型電話</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">2</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">50</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">2012/9/30</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">桌燈</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">3</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">10</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">2012/8/21</td></tr></tbody></table>

現在，假設您構建了一個檢視來按區域查看銷售額。預設情況下，將 \[銷售額\] 欄位拖到檢視中可建立如下所示的查詢：

SELECT SUM(\[Sales Amount\]) FROM \[Sales\] S INNER JOIN \[Product Catalog\] P ON S.ProductID = P.ProductID

選取 \[假設存在參考完整性\] 即表示您告知 Tableau 聯接的表具有參考完整性。換句話說，您確認 \[銷售\] 表始終有一列與 \[產品目錄\] 表相相符。因為這是真的，因此 Tableau 不需要 \[產品目錄\] 表中的任何資訊來返回這些結果。將 \[銷售額\] 欄位拖到檢視中後，Tableau 可將查詢簡化為：

SELECT SUM(\[Sales Amount\]) FROM \[Sales\]

此簡化的查詢通常可更快地返回結果，因為它省去了聯接操作。此選項僅影響內部聯結，不影響只包含一個表的資料來源。