gpt4 book ai didi

perl - 对 SQLite 数据库的仅内存修改

转载 作者:行者123 更新时间:2023-12-02 16:57:01 24 4
gpt4 key购买 nike

I'm using perl使用外部提供的 sqlite 数据库为静态服务网站预先生成大约 9k 个页面。

I have some algorithmic improvements to the original data ,但为了一致性,我认为如果我的脚本在生成之前单独保留原始数据库,并且仅修改内存中的数据(如果需要,甚至整个数据库应该适合 RAM 而没有任何问题),那会更有意义网页。

我该怎么做?

我闻到我可以从这里的某种 SQL 事务功能中受益(在我的脚本完成后应该放弃它),这是正确的吗?考虑到想要保持原始数据库文件不被修改的限制,这听起来是个好主意吗? (例如,当使用 Perl 中的 SQLite 时,正在进行的事务中的数据存储在何处以及如何存储?)还有其他方法可以完成我需要的任务吗? (我是 Perl 和 sql 新手——正在寻找带注释的代码示例。)

我想作为最后的手段,我总是可以在文件系统中创建数据库文件的副本,但这看起来是一个丑陋且低效的解决方案。

最佳答案

我还没有测试过这个,但你应该能够使用SQLite backup API将数据库加载到内存中。您可能会打开 :memory: (或者 "" 如果您想要一个临时的、文件支持的数据库),然后调用 sqlite_backup_from_file一次性加载数据库。

例如(未经测试)

my $db = DBI->connect("dbi:SQLite:dbname=:memory:", '', '', {});
$db->sqlite_backup_from_file($ENV{DATABASE});
#Database should be loaded into the current memory DB at this point.

关于perl - 对 SQLite 数据库的仅内存修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858375/

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