2011-05-25 86 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