Mysql
需要數據庫模式設計幫助
我正在開發一個 PHP 應用程序,期望有數百萬條父母和孩子的記錄。我的目標是設計一個優化的數據庫設計以實現高速和高性能。
這個應用程序將有 100 萬使用者,每個使用者都有自己的儀表板,他們可以在其中創建自己的使用者/角色、頁面和文章。
我正在考慮兩種可能的解決方案
- 僅對所有使用者、頁面和文章使用 1 個表,它們將擁有所有者的外鍵
- 為所有使用者使用單獨的表,例如 user1_pages、user1_posts、user1_users
我認為#1查詢會很慢,因為所有使用者都將共享一個表,第二個似乎也不是一個完美的解決方案,因為表的數量會成倍增加。
請向我建議一個最佳解決方案並分享設計優化 MySQL 模式的技巧。
您應該為每個感興趣的對象使用一個表。這意味著一張表用於使用者,一張表用於頁面,一張表用於文章等。對事務數據使用規範化數據庫(請參閱數據庫規範化)。這正是建立關係數據庫管理系統的目的。不要因為你有很多行就認為你會遇到性能問題。大多數係統在多行的情況下比在少數情況下表現更好。