问题描述
|
我的任务是将XML格式的数据设计转换为sqlite DB格式。标准是在保持与XML数据相同水平的数据可伸缩性的同时,实现更高的性能。
我面临的问题是XML数据格式可以基于可在数据库中创建为单独表的独立节点进行划分。但是,如果独立节点中的子节点数增加,则表中的列数将增加。我发现一个表的平均avg上有500-600列,这可能会严重影响查询性能。
数据行需要经常更新和查询以进行读取。性能是此更改的唯一标准,可将该过程的cpu负载保持在最低水平。
请分享一个想法来解决此问题。欢迎将XML数据转换为sqlite DB格式的想法。
提前致谢。
解决方法
如果所有列都是设备参数或相似的参数,则可以创建带有
ParameterName
列和ParameterValue
列的表。
DeviceId ParameterName ParameterValue
-------------------------------------
1 FrameRate 60
1 Brightness 75
1 BootTime 20
2 FrameRate 30
2 Brightness 100
2 BootTime 10
等等
如果许多设备的参数名称相同,则应将“ 0”分到一个单独的表中
ParameterId ParameterName
-------------------------
1 FrameRate
2 BrightNess
3 BootTime
并在主表中插入ParameterId
,而不是ParameterName
。
这将提高性能并减少存储空间。