最初的任务可以这样描述:我需要删除庞大的列表(可能有数十亿个项目),而不存储原始项目--这简直是负担不起的
我只需要知道一个问题的答案:“我的系统以前见过这个元素吗?”
到目前为止,我所能找到的最接近的数据结构是一个布卢姆过滤器,但是它有假阳性,这在我的任务中最好避免,因为它会导致数据丢失。
例如,提供i帐户来存储至少2^32项,并且肯定错误率仅为1% (这意味着我需要至少访问所有urls的1%)。
n = 4,294,967,296, p = 0.01 (1 in 100) → m = 41,167,512,262 (4.79GB), k = 7
4.79GB内存..。
任务本身是一个高规模
函数cutPoints在Dolphindb中的使用
我在下面的语句中使用了函数cutPoints:
symbols = array(SYMBOL, 0, 100)
symbols = symbols.distinct().sort!().append!("999999");
symRanges = symbols.cutPoints(100)
但是发生了错误:
binNum is larger than the number of data points.
我想使用select查询的结果作为另一个查询条件的输入,如下所示:
DELETE FROM message_user WHERE id = 8a81de70-1991-11e9-a38f-9e0aa7c9f25f and group = e5b04c50-1982-11e9-abf3-b17ecbb80329 and receiver in (SELECT member FROM chat_group_member WHERE id = e5b04c50-1982-11e9-abf3-b17ecbb80329)
我有Azure SQL DB Server +一个Azure SQL数据库。在这个DB中,我有一些函数,这些函数调用主DB的一些函数,作为它们逻辑的一部分。
示例:
CREATE FUNCTION [dbo].[EncryptByKey]
(
@EncryptionKeyId nvarchar(1024),
@ValueToEncrypt varchar(MAX)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
RETURN master.dbo.fn_varbintohexstr(ENCRYPTBYKEY(Key_GUID(@EncryptionKey