问题标签 [hilo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
434 浏览

sql-server - 使用 hilo 生成器和 sql server 的 Id 主键列应该使用什么数据类型?

如果我使用带有 nhibernate 的 hilo 生成器,我的 id 列的数据类型应该是什么?整数还是大整数?

0 投票
1 回答
310 浏览

nhibernate - HiLo:如何控制低值

我在我的 S#rpArchitecture/NHibernate 项目中使用 HiLo 生成器,并且我正在执行一个大型导入批处理。

我在某处读过关于预测任何新记录的低值的可能性,因为它们是在客户端生成的。我认为这意味着我可以自己控制低值,或者至少从某个地方获取下一个低值。

我想使用它的原因是我想设置与我将要插入的其他实体的关系。它们尚不存在,但将在批处理事务完成之前插入。

但是,我找不到有关如何设置低值或如何获得下一个低值的信息。

有任何想法吗?

0 投票
2 回答
3557 浏览

nhibernate - HiLo与身份?

这是同一个问题:HiLo 还是身份?

我们以本站的数据库为例。

假设该站点具有以下表格:

  • 帖子。
  • 投票。
  • 评论。

使用它的最佳策略是什么:

身份 - 这是更常见的。

或者

HiLo - 提供最佳性能。

编辑:如果 HiLo 是最好的,那么数据库的结构将如何?

0 投票
2 回答
1085 浏览

nhibernate - 在使用 HiLo ID 生成策略时,应该使用哪些类型来保存 Id?

我从 ac#/NHibnernate 的角度问这个问题,但它通常适用。令人担忧的是,HiLo 策略会很快通过 id,例如,低记录数表(例如用户)与高记录数表(例如评论)共享同一组 id。因此,您可以使用其他策略更快地获得高数字。那么人们推荐什么呢?

代码端:int/uint/long/ulong?

DBSide:int/bigint?

我的感觉是长期和bigingts,但想要一个健全的检查:)

0 投票
1 回答
917 浏览

nhibernate - NHibernate Hi-Lo

快速问:Nhibernate HiLo id 在整个数据库中是唯一的吗?

我问的原因是我们有多个实体,它们具有与之关联的图像。在客户端上——我只是将这些图像存储在一个使用实体 ID 作为名称的文件夹中——我会因此而绊倒吗?

w://

0 投票
2 回答
1235 浏览

nhibernate - 具有连续一步递增 id 的休眠 id(HiLo 的替代品)

如何指示 Nhibernate 生成顺序的一步主键,如 sql 生成的主键?

当前的 HiLo 算法会生成 4001 然后 5010、6089 等密钥。我知道这是为了管理多个应用服务器等。但我没有这个问题。
我需要 nhibernate 在启动期间获取最高记录集值(比如 15),然后使用主键 16 生成下一条记录(非常类似于从 sql 端生成的 id)。

0 投票
3 回答
1453 浏览

nhibernate - NHibernate HiLo 生成和 SQL 2005/8 模式

我手上有一个问题,我花了几天时间寻找答案无济于事......

我们正在使用 HiLo Id 生成,只要实体表与 hibernate_unique_key 表在同一架构中,一切似乎都工作正常。

表结构非常简单。我在 db 中有我的 hi 值表作为 dbo.hibernate_unique_key。几个实体表也在 dbo 模式中,它们可以正常工作。然后我们在“Contact”模式下有表(例如 Contact.Person 和 Contact.Address)。

在人员映射文件中:

当我尝试插入一个 Person 实体时,我收到“无效的对象名称'Contact.hibernate_unique_key'的错误。这个错误肯定很清楚。所以我补充说:

到我的映射文件/生成器元素。现在,当构建 SessionFactory 时,我得到一个“已经添加了具有相同密钥的项目”。错误。所以现在我有点卡住了。我不能在没有模式的情况下离开 HiLo 生成器,因为它从类中获取模式,并且我无法指定模式,因为它已经被添加(大概是因为它是我的 XML cfg 文件中标识的“default_schema” )。

我在这里完全被冲洗了吗?我必须要么

A) 将我的所有表保存在 dbo 模式中或

B)为数据库中的每个唯一模式创建一个单独的 HiLo Key 表?

这两种情况都不是特别适合我的应用程序,所以我希望我可以“修复”我的映射文件来解决这个问题。

0 投票
5 回答
6558 浏览

algorithm - 使用 HiLo 后,如果更改容量(最大 Lo)会怎样?

如果我开始使用 HiLo 生成器为表分配 ID,然后决定增加或减少容量(即最大 'lo' 值),这会导致与已经分配的 ID 发生冲突吗?

我只是想知道我是否需要在数字周围加上一个大红旗,说“永远不要改变这个!”

注意 - 不是 NHibernate 特定的,我只是对 HiLo 算法感到好奇。

0 投票
5 回答
4398 浏览

entity-framework-4 - 实体框架的 HiLO

是否有人为实体框架实现了 HiLO 密钥生成器。

在此处阅读有关 HiLo 的更多信息:我建议您阅读http://fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html以详细了解选择身份的缺点。

0 投票
1 回答
4263 浏览

embedded - 用于嵌入式远程客户端和服务器的基于 GPRS 调制解调器的数据通信

对于基于 SAGEM HiLo GPRS 的数据通信,它具有 TCP/IP 堆栈,并且有两种连接方式:

(1) 使用基本的 GPRS 命令,然后 ppp 拨号将调制解调器带到公共网络/互联网,如

(2)使用GPRS attach,然后使用TCP socket命令如

对于使用带有端口号的 TCP 与静态 IP 服务器连接的远程客户端,我发现可能使用基本 GPRS 命令而不使用任何 TCP/IP 堆栈命令的示例。

这两种方法有什么区别?我知道第一种方法通常用于使用 PC 进行 Internet 浏览,什么时候不应该像第 1 步那样,然后是第 2 步。

有时我观察到一个问题,当 GPRS 调制解调器分配以 117 开头的连接 IP 时,它工作正常,而当分配的 IP 从 110 开始时,它与服务器连接并立即断开连接。这两种情况有什么不同以及如何处理这种情况?GPRS 调制解调器的位置在这两种情况下都是相同的,如果我们在很长一段时间后启动,大多数情况下我们会获得工作 IP,如果调制解调器或连接重新启动,那么分配的 IP 将不起作用。