我有一个关系数据库模型这是我的 data-config.xml 的基础
<entity name="MyMainEntity" pk="pID" query="select ... from [dbo].[TableA] inner join TableB on ...">
<entity name="Entity1" pk="Id1" query="SELECT [Text] Tag from [Table2] where ResourceId = '${MyMainEntity.pId}'"></entity>
<entity name="Entity1" pk="Id2" query="SELECT [Text] Tag from [Table2] where ResourceId2 = '${MyMainEntity.pId}'"></entity>
<entity name="LibraryItem" pk="ResourceId"
query="select SKU
FROM [TableB]
INNER JOIN ...
ON ...
INNER JOIN ...
ON ...
WHERE ... AND ...'">
</entity>
</entity>
现在,这需要很多时间。
第一个查询中的 10000 行,然后彼此内部实体稍后被获取(每个大约 10 行)。
如果我使用数据库探查器,我会看到三个内部实体查询一遍又一遍地运行(3 个选择句子而不是 3 个选择句子一遍又一遍)
这确实效率不高。
并且导入可以运行超过 40 小时 ()
现在,
我有什么选择可以更快地运行它。
- 显然,可以选择将桌子平放在一张大桌子上——但这会产生很多其他副作用。我真的很想避免这种额外的努力并在我的生产关系表上运行 solr。
到目前为止,它开箱即用,我在这里搜索是否有配置调整。 - 如果我将这些行变平 - schema.xml 是否也需要更改?或者多值的相同字段将继续多值。
谢谢。