我想将带有XML数据的大文件加载到SQL Server 2008中。在加载每条记录之前,我需要使用来自数据库中不同表的现有数据来验证它的一些字段。 (例如,如果我将带有userid和帐户详细信息的数据加载到“user_account”表中,我需要检查userid是否存在于数据库的“user”表中)
我正在使用Java。我计划将XML文件分成小文件,并使用不同的线程运行并行加载。我正在日志文件中记录加载错误。我可以使用同步来避免日志文件一致性问题。
我想知道我的方法是否正确。如果有任何其他方法可以帮助我更快/更有效地执行加载,请告诉我。
答案 0 :(得分:1)
检查记录是否在SQL Server外部的数据库中是非常耗时的,而不是直接在SQL Server中执行。 作为替代方案,您可以执行以下操作:
这样做的好处是,
如果您可以定义XML,我建议使用尽可能短的元素名称和属性名称,因为这样也可以在SQL服务器中节省大量内存用于解析