【发布时间】:2014-10-07 05:55:55
【问题描述】:
我有一个按以下格式存储用户收集的无序数据的数据库:
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 文件相对简单,不会导致任何问题。当我尝试导出用户首选格式时,我很快遇到了性能问题。我目前用于组织和导出的方法是获取不同“格式”和“uID”的列表,然后执行单个查询以获取每个“值”来填充表格。这会导致许多查询(通常是空值)和非常缓慢的性能。我观察到的最大 uID 和格式是 9000x20。
我有兴趣找到一种可以加快导出过程的更好方法。
【问题讨论】:
-
我认为最简单的解决方案是将数据复制到您要导出的格式的新临时表中,然后将其导出。或者只是以您想要导出的格式存储数据。
-
您的数据库设计不佳。您应该采用客户建议的格式。
-
Frank,问题是客户可以随时在应用程序中重新定义其他格式,这需要在每次添加或删除额外格式时重新设计数据表。
标签: android database algorithm sqlite