我有一个数据库,按以下格式存储无序的用户收集数据:
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。
我有兴趣找到一种更好的方法来加快出口过程。
答案 0 :(得分:0)
Stack Overflow上的其他问题让我发现这个模型被称为入口属性值(EAV)模型,并且非常不适合数据存储。不幸的是,我们收集的数据格式和其他元数据要求我们使用这种格式。要将此转换为真正的关系格式,我使用了此答案中提供的多连接查询:What is best performance for Retrieving MySQL EAV results as Relational Table