最近在优化之前的功能,发现又一个表的数据存储的不太合理,每一个值是一行记录,数据量涨的很快,看了一下,可以把多个值放在一行里,表里有很多条数据,不可能手动修改,搜了一下,可以使用mysql的group_concat函数来实现。

转换之后的:
select datasource_id, user_id,col, group_concat(val Separator ',') from table_column_val group by datasource_id, user_id, col;

优化数据存储
本文介绍了一种通过使用MySQL的group_concat函数来优化数据存储的方法。针对单一值占据一行导致数据量急剧增长的问题,提出将多个值合并到同一行的解决方案。
最近在优化之前的功能,发现又一个表的数据存储的不太合理,每一个值是一行记录,数据量涨的很快,看了一下,可以把多个值放在一行里,表里有很多条数据,不可能手动修改,搜了一下,可以使用mysql的group_concat函数来实现。

转换之后的:
select datasource_id, user_id,col, group_concat(val Separator ',') from table_column_val group by datasource_id, user_id, col;

2993
7321
791
2038
7632

被折叠的 条评论
为什么被折叠?