Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将XML数据设计转换为SQLite数据库设计_Xml_Database_Performance_Database Design_Sqlite - Fatal编程技术网

将XML数据设计转换为SQLite数据库设计

将XML数据设计转换为SQLite数据库设计,xml,database,performance,database-design,sqlite,Xml,Database,Performance,Database Design,Sqlite,我的任务是将XML格式的数据设计转换为SQLite DB格式。标准是实现更高的性能,同时保持与XML数据相同的数据可伸缩性级别。 我面临的问题是,XML数据格式可以根据独立的节点进行划分,这些节点可以作为单独的表在数据库中创建。但是,如果独立节点中的子节点数增加,则表中的列数将增加。我发现表的平均值上有500-600列,这可能会严重影响查询性能。 数据行需要经常更新和查询以进行读取。性能是此更改的唯一标准,保持该进程的CPU负载最小。 请分享一个解决这个问题的想法。将XML数据转换为SQLite

我的任务是将XML格式的数据设计转换为SQLite DB格式。标准是实现更高的性能,同时保持与XML数据相同的数据可伸缩性级别。 我面临的问题是,XML数据格式可以根据独立的节点进行划分,这些节点可以作为单独的表在数据库中创建。但是,如果独立节点中的子节点数增加,则表中的列数将增加。我发现表的平均值上有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

如果许多设备的参数名称相同,则应将
ParameterName
拆分到单独的表中

ParameterId ParameterName
-------------------------
1           FrameRate
2           BrightNess
3           BootTime
并在主表中插入
ParameterId
,而不是
ParameterName

这将提高性能并减少存储空间。

“同时保持与XML数据相同的数据可伸缩性级别”-从什么时候开始XML可伸缩?可能很方便,但可扩展?xml数据可以被视为设备功能的参数。对于各种设备功能,可能有一组数量庞大的参数。查询位于要显示的选定列上。设备运行时,列也会更新。谢谢你的想法。我可以考虑这一部分的设计。数据类似于--1设备函数可以有多个参数(大约500个)及其值。并且可以有数千(最大)个设备函数作为行。因此,我将使用您的想法,以找出进一步的设计,以及阅读和更新。再次感谢。