正如问题所示。我使用":memory:"
和clsql:with-database
创建了一个内存数据库,以提高写入/插入查询性能。但最后我确实希望在我的硬盘上有一个填充数据库的永久副本。
看起来应该是这样的:
(clsql:with-database (db (":memory:") :database-type :sqlite3)
;;entering db-scheme
;;entering a bunch of data
(magically-write-database-to-file db file-path))
我怎样才能做到这一点?
答案 0 :(得分:4)
如果您在数据库创建完成之前不关心数据一致性,只需使用普通数据库文件并将其配置为禁用transactions和disk synchronization:
(execute-command "PRAGMA journal_mode = OFF")
(execute-command "PRAGMA synchronous = OFF")
答案 1 :(得分:1)
我认为您只需要使用create-view-from-class
创建表格,然后在对象上调用update-records-from-instance
。
update-records-from-instance
。 "查看课程" CLSQL实际上只是普通的类,有一些关于如何保存/加载它们的信息。只是在不保存的情况下更改对象,就没有魔力。