我有大约10000个文档的集合,每个文档包含几个SQLite DB。 (*)
我正在考虑根据文档标识符自动对我为这些DB中包含的表编写的ActiveRecord模型进行子类化,这样我就可以分别对每个类调用establish_connection。
class Document < ActiveRecord::Base
end
class Document_xyz < Document
establish_connection(.../xyz.sqlite)
end
这是可行的,还是应该尝试以某种方式将所有数据库合并在一起(可能是通过在表名上添加ID,或者作为列(?)),这样我就可以建立一个连接?
*注意:我无法更改此文件设置,因为它在其他地方使用,但我正在创建一个Web界面,所以我正在研究如果DB这样处理这么大的数字的可能性。
答案 0 :(得分:0)
这样做可能需要巨大的资源。
您可以编写一个rake任务,将数据库转换为json模板,然后您可以操作数据但是您认为合适,而不必过多关注服务器资源。
您确实应该请求供应商提供sqlite数据库的json表示。
答案 1 :(得分:0)
您可以根据需要为每个模型打开任意数量的数据库连接。也就是说,每个模型只有一个连接可以更好,更容易编码和使用。但是,许多Connections将占用您机器的大量资源,因此...遍历所有不同的数据库,grep其内容,并将其全部写入单个数据库文件(不要忘记建立有效的关系,如果可能)。
之后,使用数据库的速度应该非常快。简单。