1

在实时消息传递应用程序上,我想控制传入消息是否是唯一的。为此,我计划在 db 中插入传入消息的哈希作为唯一键,并检查我是否得到唯一键异常。(oracle 中的 ORA-00001)。这是一种有效的方法还是有更好的方法来考虑这种情况?对于那些想知道的人,程序是用java编写的,作为数据库,我们使用oracle。

4

1 回答 1

2

如果您试图解决对非常大的字符串进行唯一性测试的性能问题,那么这是实现它的一种不错的方法,是的。

但是,您可能需要一种处理哈希冲突的方法,因为唯一键的存在会阻止加载具有相同哈希的不同消息。一种方法是检查现有的匹配哈希并对消息的全文进行比较测试。它会降低您的索引大小,因为您将索引哈希而不是消息文本,但 Ii 不会完全万无一失,因为如果时间完全正确(或错误,取决于您的看法)。

于 2013-08-27T06:59:16.003 回答