【问题标题】:Mysql performance: 1 query over 3 tables or 2 queries?Mysql 性能:1 个查询超过 3 个表或 2 个查询?
【发布时间】:2011-08-19 11:32:03
【问题描述】:

我需要来自 3 个不同表的数据:

  1. 类别表

  2. 评分表 1

  3. 评分表 2

现在什么对性能更好?

  1. 进行 3 个单独的 SELECT 查询

  2. 进行 2 次查询并连接 scoretable 1 和 2,并对类别进行正常选择查询

  3. 在 1 中连接所有 3 个查询?

2号:

SELECT scoretable1.category, scoretable1.score, scoretable2.score
FROM scoretable1, scoretable2
WHERE scoretable1.consultant = scoretable2.consultant 
AND scoretable2.consultant = '14' 
AND scoretable1.category = scoretable2.category

非常感谢!

附:类别表非常小,所以我也可以将它作为缓存文件导出为序列化数组? (也许这个表最好的方式)

【问题讨论】:

  • 你为什么不尝试两种方式,看看哪个更快?

标签: mysql performance caching join


【解决方案1】:

我的猜测是最好在一个查询中完成。但我不确定。也许query analyser 可以帮到你。

【讨论】:

    【解决方案2】:

    最快的方法是从类别表到其他两个表的 INNER JOIN,只需尝试在程序中执行 1000 次选择并检查所有不同方法所需的时间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2011-08-18
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      相关资源
      最近更新 更多