我有一个数据库结构,其中填充了我正在尝试写入XML文件的数据。这里介绍了VB代码的结构:
Dim xsi = XNamespace.Get("http://www.w3.org/2001/XMLSchema-instance")
Return _
New XElement( _
"providers", _
New XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName), _
New XAttribute(xsi + "noNamespaceSchemaLocation", "\schema\provider_schema.xsd"), _
From p In context.providers _
Select New XElement( _
"provider", _
New XElement("external_provider_id", p.external_provider_id), _
New XElement( _
"demographic", _
New XElement("record_type_id", p.demographics.Single.record_type_id), _
New XElement("provider_number", p.demographics.Single.provider_number), _
...
New XElement("provider_type_id", p.demographics.Single.provider_type_id)), _
New XElement( _
"provider_specialties", _
From s In p.provider_specialties _
Select New XElement( _
"provider_specialty", _
New XElement("external_provider_specialty_id", s.external_provider_specialty_id), _
New XElement("record_type_id", s.record_type_id), _
New XElement("effective_date", s.effective_date.TruCareFormat), _
...
该结构从大约15个不同的表中提取数据,所有表都绑定到Provider表,其中一些可能会降低2或3个级别。目前大约有40,000个提供商,代码大约需要1.5个小时才能完成。
我目前对此代码有两个问题:
关于我可以采取哪些措施来改善这一点?
答案 0 :(得分:1)
我会尝试编写一个查询(或者更多查询),它会为您提供所有数据并使用此数据构建xml文档。现在,您的SQL查询绑定到xml文档的结构,但可能会有更高效的查询返回相同的数据,但速度要快得多。