2011-05-25 137 views
0

我有一個任務將XML格式的數據設計轉換爲SQLite數據庫格式。該標準旨在實現更高的性能,同時保持與XML數據相同的數據可伸縮性級別。 我面臨的問題是XML數據格式可以根據獨立節點進行劃分,獨立節點可以在DB中作爲單獨的表創建。但是,如果獨立節點中的子節點數量增加,則表中的列數會增加。我發現平均有500-600列可能會嚴重影響查詢性能。 數據行需要經常更新&查詢閱讀。性能是此更改的唯一標準,可將CPU負載保持在最低程度。 請分享一個想法來解決這個問題。將XML數據轉換爲SQLite數據庫格式的想法是最受歡迎的。將XML數據設計轉換爲SQLite數據庫設計

在此先感謝。

+0

「保持與XML數據相同級別的數據可伸縮性」 - 因爲何時XML可伸縮?或許,但可擴展? – 2011-05-25 04:53:38

+0

可將xml數據視爲設備功能的參數。對於各種設備功能,可以有一組大量的參數。查詢在選擇性列上進行顯示。設備運行時,列也會更新。 – Abhishek 2011-05-25 05:19:04

回答

0

如果所有列都是設備參數或類似的,可以使用ParameterName列和ParameterValue列創建表。

DeviceId ParameterName ParameterValue 
------------------------------------- 
1  FrameRate  60 
1  Brightness 75 
1  BootTime  20 
2  FrameRate  30 
2  Brightness 100 
2  BootTime  10 

如果你的參數名稱是許多設備,你應該在你的主表,而不是ParameterName爆發ParameterName到一個單獨的表

ParameterId ParameterName 
------------------------- 
1   FrameRate 
2   BrightNess 
3   BootTime 

,並插入ParameterId相同。 這會提高性能並減少存儲空間。

+0

感謝您的想法。我可以考慮這個設計的一部分。數據就像 - 1設備函數可以有多個參數(約500)及其值。並且可以有數千(最大)的設備功能作爲行。所以我會利用你的想法找出進一步的閱讀和更新設計。再次感謝。 – Abhishek 2011-05-25 06:03:24