Jérôme Verstrynge Asked: 2012-03-04 09:57:41 +0800 CST2012-03-04 09:57:41 +0800 CST 2012-03-04 09:57:41 +0800 CST 我可以使用 Clob 作为表键(来自 Java)吗? 772 根据对另一个问题提出的存储大量文本的建议:可以使用CLOB作为主键字段(即来自 JDO 的 Java 的 DataNucleus 实现)吗? 我知道使用 CLOB 作为键可能是一个非常糟糕的主意,但我确实需要在一次性操作中使用大文本作为键。 primary-key datatypes 1 个回答 Voted Best Answer gbn 2012-03-06T02:32:55+08:002012-03-06T02:32:55+08:00 简单的版本是从 CLOB 生成散列并将其用作键。此密钥将适合您的引擎允许的密钥宽度(900 SQL Server、767 InnoDB、1000 MyISAM 等)。 哈希可以由引擎生成为计算列、触发器,或由某些 ETL 过程或由应用程序生成 碰撞的可能性微乎其微(生日问题),但这只对许多记录和散列算法选择不当有影响
简单的版本是从 CLOB 生成散列并将其用作键。此密钥将适合您的引擎允许的密钥宽度(900 SQL Server、767 InnoDB、1000 MyISAM 等)。
哈希可以由引擎生成为计算列、触发器,或由某些 ETL 过程或由应用程序生成
碰撞的可能性微乎其微(生日问题),但这只对许多记录和散列算法选择不当有影响