比較查詢和檢視表

由於查詢和檢視表擁有許多相似之處,其不同處很容易被忽略。 本章節將簡短比較查詢和檢視表。

儲存:檢視表會儲存為資料庫設計的一部分,查詢則不會。 在設計資料庫時,您可以一併設計檢視表,原因如下所示:

  • **某些資料子集對許多使用者很重要:**因為每一個檢視表都儲存在資料庫中,它建立了一個任何資料庫使用者都可以使用的特定資料子集。

  • **檢視表可以隱藏基本資料表:**您可以禁止所有使用者存取資料庫資料表,要求使用者只能透過檢視表來管理資料。 這種方法可以保護使用者和應用程式不受某些資料庫修改的影響。 例如,您可以建立名為「當月銷售量」的檢視表。 在每個月月初,您可以根據該檢視表來修改檢視表定義。 如果沒有該檢視表,使用者每個月都必須重新撰寫查詢,選取正確月份的「銷售量」資料列。

更新結果:檢視表和查詢之更新結果集的限制有所不同。 如需詳細資訊,請參閱更新結果的規則

排序結果:(只限 Microsoft SQL Server) 您可以排序任何查詢結果,但只有在檢視表包含 TOP 子句時,才能排序檢視表結果。 如需 TOP 子句的詳細資訊,請參閱 SQL Server 文件。 如需有關排序的詳細資訊,請參閱查詢結果的排序和群組

查詢計劃產生:查詢計劃是指資料庫伺服器嘗試快速產生結果集時所使用的一種內部策略。 儲存檢視表時,資料庫伺服器即會建立檢視表的查詢計劃。 至於查詢,除非真正執行查詢 (也就是說,除非使用者明確要求使用結果集),否則資料庫伺服器無法建立查詢計劃。

參數化:您可以建立查詢參數,但無法建立檢視參數。 如需參數化查詢的詳細資訊,請參閱使用參數查詢

請參閱

其他資源

設計查詢和檢視表