有效地将Android SQLite数据库导出为CSV

时间:2014-09-15 16:35:10

标签: android database algorithm sqlite

我有一个数据库,按以下格式存储无序的用户收集数据:

uID     format     value
ash001  height     37
ash001  disease    green
ash002  disease    red
ash003  disease    orange
ash003  height     39

导出时,用户更喜欢以下数据格式:

uID     height    disease
ash001  37        green
ash002            red
ash003  39        orange

将数据库格式的值导出为CSV文件相对简单,不会产生任何问题。当我尝试导出用户首选格式时,我很快就遇到了性能问题。我目前的组织和出口方法是获取不同格式的列表'和' uIDs'然后执行单个查询以获取每个值'填写表格。这导致许多查询(通常具有空值)和非常缓慢的性能。我观察到的最大uID和格式为9000x20。

我有兴趣找到一种更好的方法来加快出口过程。

1 个答案:

答案 0 :(得分:0)

Stack Overflow上的其他问题让我发现这个模型被称为入口属性值(EAV)模型,并且非常不适合数据存储。不幸的是,我们收集的数据格式和其他元数据要求我们使用这种格式。要将此转换为真正的关系格式,我使用了此答案中提供的多连接查询:What is best performance for Retrieving MySQL EAV results as Relational Table