gpt4 book ai didi

perl - 数百万条目的 SQLite 优化?

转载 作者:IT王子 更新时间:2023-10-29 06:31:46 25 4
gpt4 key购买 nike

<分区>

我正在尝试使用 SQLite 数据库和 Perl 模块来解决问题。最后,我需要记录数千万条条目。每个项目的唯一唯一标识符是 URL 的文本字符串。我正在考虑以两种方式做到这一点:

方式#1:有好表、坏表、未排序表。 (我需要检查 html 并决定是否需要它。)假设我们总共有 10 亿个页面,每个表中有 3.33 亿个 URL。我有一个新的 URL 要添加,我需要检查并查看它是否在任何表中,如果它是唯一的,则将其添加到 Unsorted。此外,我会使用此选项移动很多行。

方式 #2:我有 2 个表,Master 和 Good。 Master 拥有全部 10 亿个页面 URL,而 Good 拥有我想要的 3.33 亿个。新的 URL,需要做同样的事情,除了这次我只查询一个表,我永远不会从 Master 中删除一行,只将数据添加到 Good。

所以基本上,我需要知道最佳设置以快速查询一个巨大的 SQLite 数据库以查看大约 20 个字符的文本字符串是否唯一,如果不是则添加。

编辑:我现在正在尝试让 Berkeley DB 使用 Perl 模块工作,但没有成功。这是我拥有的:

use BerkeleyDB;

$dbFolder = 'C:\somedirectory';
my $env = BerkeleyDB::Env->new ( -Home => $dbFolder );

my $db = BerkeleyDB::Hash->new (
-Filename => "fred.db",
-Env => $env );
my $status = $db->db_put("apple", "red");

当我运行它时,我得到以下信息:

Can't call method "db_put" on an undefined value at C:\Directory\perlfile.pl line 42, <STDIN> line 1.

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com