2011-02-23 81 views
1

我有一個字符串列表,列表是恆定的,不會改變,有12個字符串。通過數據庫的XML

裏面的數據庫表我有一個字符串的索引列。
我不認爲這是明智的舉行一個單獨的表來保存這些字符串,因爲他們永遠不會更改既不保存自己的字符串在此列中。

所以唯一的選擇是在其他類型的列表中。

如何在XML文件中保存字符串並使用Linq-to-Xml將字符串加載到字典中。 如果是這樣更好,性能明智,然後使用數據表?

+1

這些字符串將用於什麼?爲什麼不使用資源文件或配置? – 2011-02-23 21:02:51

+0

產品的定義,有12種產品類型(恆定的,從不改變),所以當用戶要求產品時,他需要獲得定義。 – urker 2011-02-23 21:19:52

回答

0

這些字符串很可能會被SQL服務器緩存,並且幾乎不會影響性能。但是,如果您有多個應用程序共享相同的數據庫,將會給您一個靈活性。總的來說,將這些數據保存在數據庫中,除非您有/預計有數百萬次數據庫命中。

+0

所以,我應該把它們放在一個單獨的表中(即使它們是常量),並在用戶從包含索引(外鍵)的數據庫請求輸入時通過JOIN檢索它們? – urker 2011-02-23 21:18:11

+0

是的,他們可以通過他們的ID在其他表中引用 – Zepplock 2011-02-25 00:07:26

0

我同意Zepplock,將字符串保存在數據庫中。你不必擔心表演。其中一個重要原因是,如果你這樣做了,如果你將它們存儲在數據庫中適當的上下文中,未來的開發人員將更容易找到字符串並理解它們在應用程序中的功能。

+0

扮演魔鬼的擁護者:如果他將這些信息存儲在他的代碼庫中的XML文件中,那麼如果它發生了變化,它將具有版本歷史記錄以及其他代碼。 – Carson63000 2011-02-24 00:39:37

+0

你是說你應該堅持使用xml,理由是版本更簡單。如果需要對字符串進行版本控制,則可以非常容易地在數據庫中實施。數據庫最適合存儲數據,如果字符串與應用程序的內容相關,則應該與數據一起使用。使用代碼對版本控制系統進行版本控制並不是我的首選方式。 – bjorsig 2011-03-03 23:24:06

0

聽起來好像您正在描述一張持有產品目錄數據的表。建議將這些值保存在其自己的行中,而不是以XML數據類型或XML格式存儲在varchar列中。

這聽起來好像數據現在是靜態的,很少有變化。通過以XML存儲,您將喪失數據庫關係性質的潛在未來優勢。

建議將它們保存在表格中。正如你所說,它只有12個字符串/產品,並且性能命中率將爲零。