有没有办法阻止失控的正则表达式?
我对如何修改它的建议不感兴趣.我知道它可以被修改,所以它不会破坏等,但我正在运行单个正则表达式对数千个输入,所以修改它意味着我需要在所有输入上重新测试它.不太实际.
所以确切的问题是:是否有某种形式的计时器可用于终止需要超过X秒才能完成的正则表达式?
如果在其他地方已经回答道歉,我找不到类似的东西.
有没有办法将表拆分成多个分片而不必使用多个查询?这是两个例子:
1)加载带有带时间戳的数据的表(unix时间戳).我希望白天将数据保存到一个表中.天真的方法是:a)加载数据; b)运行查询以获取每天的所有数据并将其附加到适当的分片中.这种方法将导致查询触及N x [整个表格的大小]数据,其中N是表格中的天数.再加上一个查询来查找最小和最大时间戳,以便我可以建立我需要创建的分片范围.
2)使用字段中的数据将表拆分为分片.例如,一个包含10亿行的表,其中包含一个具有1,000个不同值的字段X. 如果我想将表拆分为1000个不同的表,每个X的值为一个表,那么天真的方法是运行SELECT*FROM表WHERE X = [value],并将结果插入到shard table_value中.但是,这将导致1000个查询,每个查询都触及整个表的数据!
当然,我错过了一些东西,必须有更有效的方法来做到这一点.