Tha*_*had 4 sql sql-server nhibernate performance database-design
我们目前有一个系统,每个客户在注册时都会获得自己的数据库.毫不奇怪,这是失控的.
我们正准备将所有这些数据库合并到一个数据库中.为此,我们需要注意该行所属的组织.如何在数据库上处理这个以及下面的方法有哪些优点/缺点(速度,可维护性等)?
选项1:将组织ID分配给所有表并使其成为主键的一部分(使所有键复合).
选项2:将组织ID添加到所有表中,作为具有组织表外键的列.
选项3:其他东西.
我们正在考虑通过这一举措转移到NHibernate,如果这对所做的事情有影响的话.
选项1和2不是相互排斥的,您应该同时执行这两项操作.组织上的外键约束有助于确保组织密钥有效.复合主键是实现唯一性的唯一方法,除非您想要重新键入所有记录,并且它对查找性能也很有价值.或者,您必须在组合数据上创建新的主键列,例如标识列.这种变化可能需要在其他地方进行更多的改变.
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |