Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql性能:1个查询超过3个表还是2个查询?_Mysql_Performance_Caching_Join - Fatal编程技术网

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

Mysql性能:1个查询超过3个表还是2个查询?,mysql,performance,caching,join,Mysql,Performance,Caching,Join,我需要3个不同表中的数据: 分类表 评分表1 评分表2 现在什么对性能更好 进行3次单独的SELECT查询 进行2次查询,连接表1和表2,并对类别进行常规select查询 在1中连接所有3个查询 第二点: SELECT scoretable1.category, scoretable1.score, scoretable2.score FROM scoretable1, scoretable2 WHERE scoretable1.consultant = scoretable2.consulta

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

  • 分类表

  • 评分表1

  • 评分表2

  • 现在什么对性能更好

  • 进行3次单独的SELECT查询

  • 进行2次查询,连接表1和表2,并对类别进行常规select查询

  • 在1中连接所有3个查询

  • 第二点:

    SELECT scoretable1.category, scoretable1.score, scoretable2.score
    FROM scoretable1, scoretable2
    WHERE scoretable1.consultant = scoretable2.consultant 
    AND scoretable2.consultant = '14' 
    AND scoretable1.category = scoretable2.category
    
    多谢各位


    另外,category表非常小,所以我可以将其作为缓存文件导出为序列化数组?(可能是这个表的最佳方式)

    我的猜测是最好在一个查询中完成。但我不是绝对肯定。也许可以帮你解决这个问题。

    最快的方法是从category表到其他两个表的内部联接,只需尝试在一个程序中执行1000个select,并使用所有不同的方法检查所需的时间

    为什么不两种方法都尝试一下,看看哪一种更快?