對於我設置的項目,我需要一個非常動態的數據結構。我將存儲我沒有定義的記錄。一個記錄可以由5列,另一種可能是10在sql中查詢數據字典的最佳方法
爲了支持這一點,我想用一個表有以下的列:
ResultId 的recordId RecordTypeId 重點 價值
這支持所有可能的方案,但我有幾個問題。
- 這是最好的方法還是有更好的選擇,我錯過了?
- 什麼是一種很好的方式來查詢這個,並得到他們的方式我的記錄?我將定義存儲在不同的表中,告訴我每個記錄類型存儲哪些列。我已經看過需要動態buildp的PIVOT語句,因爲您需要以數組樣式提供字段(儘管可以通過存儲過程提供,我猜)
- 性能如何保持大量記錄?
- 使用諸如EF/Linq之類的東西很方便嗎?
這將在.NET 4 C#中用SQL2008R2 Express後端進行編碼。我正在尋找一些最佳做法。
更新!再澄清一點:我需要存儲來自不同的,未知的查詢的數據結果集。我不知道會有多少個查詢定義,或者它們的外觀如何。該數據庫中的數據僅用於處理。用戶甚至不知道這些表格存在,將不會有輸入,也不會有任何報告或任何數據以任何方式觸及屏幕。結果集用於與其他結果集進行比較,全部通過代碼進行比較。我需要的是一種高度動態的方式來存儲這些記錄,這些記錄在涉及大量記錄時保持執行。
我想到了另一種選擇是:
ResultId 的recordId 字段1(SQL_VARIANT) 域2(SQL_VARIANT) 場3(SQL_VARIANT) 字段4(SQL_VARIANT) ...
這是一個更好的理念?
用戶如何創建記錄以及如何維護數據? – Mark
這是真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的真的非常糟糕的數據結構,會造成很多問題。 – JNK
@Mark:用戶實際上並不創建記錄,記錄是另一個數據庫上查詢的結果。而且會有不同的定義 – Jasper