我有两个目录,每个目录都包含一个以日期分区的splayed表。每个目录都有自己的sym文件。表格完全相同。
我想将此合并到一个目录中,但我遇到了问题。最初我尝试在另一个目录中创建一个软链接(由于大量数据)。这不起作用,因为表使用了错误的sym文件。
有谁知道如何最好地做到这一点?我是否必须为两个目录重新生成新的sym文件?
由于
答案 0 :(得分:4)
我不确定我到底知道你的情况,但我可以想到一些可能性。
在这种情况下,为什么需要这两份副本?您可以从数据库的同一副本运行多个q进程。实际上,这是首选,因为您可以从操作系统磁盘缓存提供的共享缓存中受益。只需删除其中一个副本,并将所有q进程指向同一目录。
如果数据库是独立创建但具有相同的源数据,则会发生这种情况。除非您实际制作了文件的副本,否则您无法真正假设数据库是相同的。一个明显的例子是你有一堆文件加载到每个数据库中,但加载的文件的顺序对于每个数据库是不同的。在这种情况下,您 无法 使用相同的sym文件!这样做会使数据 看起来 确定乍一看,但所有sym值都是错误的。如果由于某种原因确实想要组合这两个数据库,则需要从一个数据库中获取数据并将其加载到另一个数据库中。这是100%确定您不会损坏数据的唯一可靠方法。
这可能不会起作用,除非通过一些奇迹,sym值全部匹配,如果数据库的其余部分不同,它们将不会。这是因为枚举的sym值是全局的,并且依赖于数据库中的所有sym值。如果您想要两个数据库中的表,则需要为要复制的数据库重新枚举sym列。
答案 1 :(得分:3)
从一个目录中逐日读取,评估所有枚举的sym列并写入另一个目录,枚举另一个sym文件。