Mysql性能:1个查询超过3个表或2个查询?

时间:2011-08-19 11:32:04

标签: mysql performance caching join

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

  1. Catergory表

  2. 得分表1

  3. 得分表2

  4. 现在对表现有什么好处?

    1. 制作3个单独的SELECT查询

    2. 制作2个查询并连接记分表1和2,并对类别进行正常的选择查询

    3. 将所有3个查询连接到1?

    4. 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
      

      非常感谢!

      P.S。类别表非常小,所以我可以将它作为一个缓存文件导出为序列化数组? (也许是这张桌子的最佳方式)

2 个答案:

答案 0 :(得分:1)

我的猜测是最好在一个查询中执行此操作。但我不是很确定。也许query analyser可以帮助你。

答案 1 :(得分:0)

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