我有一个应用程序,其中许多公司发布信息。每个公司的数据是自包含的-没有数据重叠。
从性能上来说,哪种方式更好:
- 在每个表的每一行上保留公司ID,并让每个索引使用它?
- 根据公司ID对每个表进行分区
- 分区并创建用户以访问每个公司以确保安全
- 为每个公司创建多个数据库
基于web的应用程序具有持久连接。
我的想法:
- 新的pg连接很昂贵,因此单个数据库会创建较少的新连接
- 只有一个字典副本似乎比200个左右要更有效率
- 多个数据库肯定比程序员错误更安全
- 如果应用程序规范发生变化以便公司分享,将难以实现多个数据库