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