Mysql-5.5

為什麼在視圖中設置靜態數據而不是在 mysql 中使用表?

  • August 18, 2013

我每晚都會收到一個 LDAP 提要。我將它作為文本文件獲取並轉儲/創建我的 LDAPALL 表。大約有 75,000 名員工乘以大約 50 個領域。

我也有以下幾點:

LDAPIMPORTANT - 儲存所有 75K 但僅 15 個欄位的視圖

LDAPSHORT - 儲存所有 75k 但 5 個欄位的視圖

LDAPAB - 僅基於兩個組儲存 9k 名員工的視圖(欄位查找)

這些中的每一個都被大量使用並用於不同的應用程序,並且針對這些視圖編寫了很多視圖。但是他們沒有更新。我們不更新員工數據。它只是每晚一次的 LDAPALL 更新。

在這種情況下,我應該從 LDAPALL 表而不是視圖創建表嗎?我可以設置工作以每晚創建一次這些表。這背後的最佳實踐是什麼?用外行的話來說,因為我是一名 PHP 開發人員,專門從事所有數據庫管理工作。

如果它們執行,我會簡單地使用視圖。無需不必要地複制數據,許多數據庫平台允許索引或物化視圖和過濾視圖等。

但是,MySQL 不支持索引視圖。因此,除非您的表上的底層索引支持您訪問數據的各種方式,否則可能值得您自己實現視圖的一個版本。

用包含相同數據(現在重複)的表替換視圖的概念稱為物化視圖。

您的問題的答案可能在這裡

引用自:https://dba.stackexchange.com/questions/47739