6

在db設計正確的方法中使用「view」還是應該處理它的代碼?有什麼優點或缺點?爲什麼使用數據庫視圖?

+0

很多包括http://stackoverflow.com/questions/630200/when-to-use-database-views-and-when-not – 2010-03-16 12:10:31

+0

可能會創建一個參數列表 – BreakHead 2010-03-16 12:17:51

回答

13

我看到一對夫婦的理由使用意見:

  • 提供一個簡單的界面:只需查詢視圖,而不是十幾張桌子,做連接和所有
  • 提供這並沒有改變接口(或不經常)
    • 即使更改了表的結構,你也許可以修改您的視圖,以便它仍然會返回同樣的事情
    • 這意味着不需要改變應用程序的代碼:它仍然正常工作,因爲它是使用視圖,而不是直接訪問表
  • 只提供一個接口,以表的某些字段
    • 無需用戶看到一些數據,他們將不會使用
    • 或獲得一些數據,他們不應該使用
  • 對於某些數據庫引擎(我想MS SQL Server支持),一些牛逼意見YPE可以有指標
    • 這是表演一件好事:如果你有一些複雜的查詢,將其存儲爲一個視圖,並定義該視圖所需要的指標
+2

如何查詢性能?可以查看增加我的查詢的表現嗎? – shgnInc 2015-06-09 07:20:29

2

取決於。我使用它們,但並不常見。儘管如此,它們非常有用,可以解釋最終用戶(工具)使用的數據解碼視圖,例如報表應用程序。通過這種方式,您可以向最終用戶提供隱藏了一些技術細節的常用請求信息的簡化版本。對於意見對我們來說

3

兩種典型情況是:

  • 在一個表中的一些列包含應該由少數人來只看到機密數據。您可以創建一個排除這些列的視圖,併爲大多數用戶使用該視圖。
  • 將兩個或多個表加入非規範化視圖中,這對於報表而言是實用的,但作爲數據庫中的存儲表是沒有意義的。

希望這有助於。