NHibernate和hilo生成器:如何设计关键表?

Ste*_*ger 8 nhibernate database-design hilo

我准备将我的一些实体从身份转换为hilo id-generator.

我不知道如何设计保持下一个高值的表.

  • 我应该为所有实体或一组相关实体使用单个表吗?
  • 我应该为每个实体使用另一张表吗?
  • 我应该使用每个实体的另一行或列的单个表吗?

有没有最佳做法?需要考虑什么?任何方法都有任何优缺点吗?

Die*_*hon 3

我认为不存在单一的“最佳”实践,但了解 HiLo 的工作原理很重要:

  • 表 hilo 生成器是为不支持序列的数据库设计的,序列更适合此任务。
  • 第一次保存类的实例或用完Lo值时,将检索并更新类的 Hi值。
  • 每个类别使用不同的Hi值。

因此,您必须考虑至少两个变量:

  • 争论。您可以通过使用单独的表来稍微提高性能
  • 范围。对于非常大的数据库,您最终用完Hi值的风险会更大。

考虑到这一点后,这只是一个品味问题。