簡體   English   中英

使用T-SQL用重復字段查詢表的有效/有效方式是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM