使用连接表选择组 concat 或将数据移动到一种列文本数据类型
Posted
技术标签:
【中文标题】使用连接表选择组 concat 或将数据移动到一种列文本数据类型【英文标题】:select group concat with join tables or move data to one column text datatype 【发布时间】:2021-01-16 05:19:34 【问题描述】:我有 Author 和 Books 表。
我目前选择数据的方法是我 LEFT JOIN 书籍表到 Author 表并使用 GROUP_CONCAT 来获取书籍列表。
随着书籍数量的增加,查询似乎变慢了。
我正在考虑为具有文本数据类型的书籍列表添加另一列,并将所有书籍存储为文本。所以我只需要从一张表中使用一个 SELECT。
如果我使用一个大文本列而不是 group_concat,查询会更快更好吗?
【问题讨论】:
考虑处理应用代码中数据显示的问题。 向我们展示查询和SHOW CREATE TABLE
。我不认为GROUP_CONCAT
是反派,但我需要查看更多细节。
【参考方案1】:
如果我使用一个大文本列,查询会更快更好吗 而不是 group_concat?
显然查询会运行得更快。
但是
管理书籍列表会产生开销,因为对于books
表中的每个 DML,您必须更新 author
表中的书籍列表。
这不是一个好的做法。相反,您可以专注于通过索引或任何其他性能技术使您的 LEFT JOIN
查询更快。
【讨论】:
这对我来说并不明显 :-(以上是关于使用连接表选择组 concat 或将数据移动到一种列文本数据类型的主要内容,如果未能解决你的问题,请参考以下文章