преобразование дизайна данных XML в дизайн базы данных SQLite - PullRequest
0 голосов
/ 25 мая 2011

У меня есть задача преобразовать дизайн данных в формате XML в формат БД SQLite. Критерием является достижение большей производительности при сохранении того же уровня масштабируемости данных, что и с данными XML. Проблема, с которой я сталкиваюсь, заключается в том, что формат данных XML можно разделить на основе независимых узлов, которые могут быть созданы как отдельные таблицы в БД. Однако, если количество дочерних узлов в независимых узлах увеличивается, количество столбцов в таблице будет увеличиваться. Я обнаружил, что в таблице имеется 500-600 столбцов для таблицы, которые могут серьезно повлиять на производительность запроса. Строки данных должны часто обновляться и запрашиваться для чтения. Производительность является единственным критерием для этого изменения, сохраняя нагрузку на процессор минимальной для этого процесса. Пожалуйста, поделитесь идеей, чтобы обойти эту проблему. Идеи для преобразования данных XML в формат БД SQLite приветствуются.

Заранее спасибо.

1 Ответ

0 голосов
/ 25 мая 2011

Если все столбцы являются параметрами устройства или аналогичными, вы можете создать таблицу со столбцом 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.Это повысит производительность и уменьшит пространство для хранения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...