繁体   English   中英

如何使用Perl操作本地数据库?

[英]How can I manipulate a local database with Perl?

我是一个Perl程序员,有一些很好的脚本,可以使用cURL获取HTTP页面(来自文本文件列表的URL)并将它们保存到文件夹中。

但是,要获得的页数是数千万。 有时脚本在170,000号上失败,我必须再次手动启动脚本。 它会自动读取URL并查看是否有下载的页面并跳过。 但是,有几十万,它仍然需要几个小时才能跳回到它停止的地方。 显然,这最终不会成功。

我被告知,我需要使用数据库,而不是保存到难以搜索和修改的文本文件。 我对数据库知之甚少,一年前就在学校服务器上搞乱了MySQL。 我只需要能够添加数百万行和一些静态列, 快速搜索/修改一个,并在局域网(或单个计算机,如果这很困难)上完成所有操作。 当然,我需要使用perl访问这个数据库。

我应该从哪里开始? 在Windows上启动服务器需要下载什么? 我应该使用哪些Perl模块? (我正在使用ActiveState发行版)

有很多类型的数据库,但如果您已经决定使用SQL数据库并且正在尝试简化设置过程,那么您可能需要查看SQLite和DBI / DBD::SQLite模块,它们允许您使用来自perl的。

由于您只需要搜索一列,您可能希望使用BerkeleyDBDB_File来考虑像Berkeley DB这样的键/值存储数据库。

通常,您可以将这些键/值数据库视为从磁盘而非内存操作的Perl哈希值。 精确的关键外观非常快。 其他一切都需要扫描整个数据集。

看看DBI 如果您不喜欢程序中的SQL,请尝试SQL :: Abstract

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM