【问题标题】:select group concat with join tables or move data to one column text datatype使用连接表选择组 concat 或将数据移动到一种列文本数据类型
【发布时间】:2021-01-16 05:19:34
【问题描述】:

我有 Author 和 Books 表。

我目前选择数据的方法是我 LEFT JOIN 书籍表到 Author 表并使用 GROUP_CONCAT 来获取书籍列表。

随着书籍数量的增加,查询似乎变慢了。

我正在考虑为具有文本数据类型的书籍列表添加另一列,并将所有书籍存储为文本。所以我只需要从一张表中使用一个 SELECT。

如果我使用一个大文本列而不是 group_concat,查询会更快更好吗?

【问题讨论】:

  • 考虑处理应用代码中数据显示的问题。
  • 向我们展示查询和SHOW CREATE TABLE。我不认为GROUP_CONCAT是反派,但我需要查看更多细节。

标签: mysql sql optimization query-optimization


【解决方案1】:

如果我使用一个大文本列,查询会更快更好吗 而不是 group_concat?

显然查询会运行得更快。

但是

管理书籍列表会产生开销,因为对于books 表中的每个 DML,您必须更新 author 表中的书籍列表。

这不是一个好的做法。相反,您可以专注于通过索引或任何其他性能技术使您的 LEFT JOIN 查询更快。

【讨论】:

  • 这对我来说并不明显 :-(
猜你喜欢
  • 2021-03-14
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
  • 2021-10-20
相关资源
最近更新 更多