Mysql

需要數據庫模式設計幫助

  • July 20, 2013

我正在開發一個 PHP 應用程序,期望有數百萬條父母和孩子的記錄。我的目標是設計一個優化的數據庫設計以實現高速和高性能。

這個應用程序將有 100 萬使用者,每個使用者都有自己的儀表板,他們可以在其中創建自己的使用者/角色、頁面和文章。

我正在考慮兩種可能的解決方案

  1. 僅對所有使用者、頁面和文章使用 1 個表,它們將擁有所有者的外鍵
  2. 為所有使用者使用單獨的表,例如 user1_pages、user1_posts、user1_users

我認為#1查詢會很慢,因為所有使用者都將共享一個表,第二個似乎也不是一個完美的解決方案,因為表的數量會成倍增加。

請向我建議一個最佳解決方案並分享設計優化 MySQL 模式的技巧。

您應該為每個感興趣的對象使用一個表。這意味著一張表用於使用者,一張表用於頁面,一張表用於文章等。對事務數據使用規範化數據庫(請參閱數據庫規範化)。這正是建立關係數據庫管理系統的目的。不要因為你有很多行就認為你會遇到性能問題。大多數係統在多行的情況下比在少數情況下表現更好。

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