我如何优化这些SQL查询?

时间:2015-05-20 23:11:50

标签: mysql sql join mysqli query-optimization

  

旧:

     

好的,我有1个变量,在3个首字母中用作 WHERE 条件   查询。基于我需要创建的其中一个回应   查询另外2个查询。

$var1 = $_GET['id']; $var2 = $_GET['truck'];
//first two are easy
SELECT `name`, `address` FROM `company` WHERE `id`='".$var1."' LIMIT 1; //q1

SELECT `value`, `date` FROM `checks` WHERE `truck`='".$var2."'; //q2

//the 3rd query may have multiple results and for every result i need **q4** and **q5** to be executed
SELECT `loadNumber`, `cfnNumber` FROM `loads` WHERE `truck`='".$var2."' ; //q3


//notice that WHERE conditions use values from **q3**
SELECT `value`, `date` FROM `finances` WHERE `load`='".loadNumber."'; //q4

SELECT `address` FROM `stops` WHERE `load`='".loadNumber."'; //q5

=============

修改 我的问题是关于优化,因为我试图将所有这些查询组合成一个,如果可能的话,希望它意味着更少的服务器加载时间。我对JOINS不太熟悉,所以最终this是我的代码与真实数据的样子。 here是结果,也是真实数据。是否需要优化/加入这些查询以减少服务器负载?

2 个答案:

答案 0 :(得分:2)

我建议只合并最后3个查询,保持前2个:

NUL

答案 1 :(得分:-1)

做一个子查询。是这样的:

SELECT `item1_t1`, `item2_t1` FROM `table1` WHERE `item2_t1` in (SELECT `item1_t2` FROM `table2` WHERE `item2_t2`='".$var."');