![](/img/trans.png)
[英]What is the more efficient T-SQL way to query a table with Hierarchical data type
[英]What is a productive / efficient way to query a table with repeating fields using T-SQL?
我有一个这样的表(简化):
Lender
Id (PK)
AgencyCode1
AgencyCode2
AgencyCode3...
AgencyCode20
Agency
AgencyCode
AgencyName
贷方表是来自视图的非规范化数据,用于报告。 每个贷方在输出中都需要一行,并且需要将代理商代码加入代理商表中,以获取每个代理商的显示名称。
我在每一行中寻找的结果输出是:
LenderId, AgencyCode1, AgencyName1, ... AgencyCode20, AgencyName20
在这样的情况下,如何在性能和(开发人员)生产率之间达到最佳平衡的模式?
--Edit,代理商代码不是我最初指出的主键。
回应@Martin Smith的评论,取消枢纽,加入和枢纽可能是最高效,最明智的选择-并且通过弄清如何取消枢纽和枢纽的复杂性,随着时间的推移,您的开发人员将变得更加经验丰富,因此工作效率更高。
或者,如果有20个并且总是20个非规范化列,则可以只写出20个左外部联接(假设Lender与20个代理商无关)。 这是丑陋的代码,需要SQL处理20个连接...但是,如果Agency表很小(在这里我将其称为8页/ 1小范围),那么整个处理时间可能会相对较短。 需要进行测试,以确定哪个执行效果最好。
关于开发人员的整体生产力,请跟踪所有操作需要多长时间(包括发布到SO)。 完成后,汇总所有内容,并使用它来显示开发人员不得不使用设计不良的表浪费了多少时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.