哪种使用查询的方式会有效?

时间:2015-10-19 06:14:30

标签: php mysql sql-server

我有两个表hsc,sslc HSC:

id         name           class   section
1          karna            1        a
2          bavi             2        b
3          chidu            3        c

SSLC

id         name           class    section
1          ram             11        a2
2          sam             11        b1
3          guna            14        c2

注意:hcs中存在的类不会出现在sslc中。 我应该只传递id和类作为条件来获得使用PHP的结果,但我不会传递表名。所以我使用联合查询

$id=$_REQUEST['id'];
$class=$_REQUEST['class'];

$sql="select t1.* (select id,name,class,section from hsc union select  id,name,class,section from sslc)t1 where id=$id and class=$class;"//this runs successfully 
$StudentArray = $Cobj->union($sql);

OR

$sql="select * from hsc where id=$id and class=$class;"
$StudentArray = $Cobj->union($sql);
if(count($StudentArray)>0){
$table="hsc";}
else{
$table="sslc";}
$sql="select * from $table where id=$id and class=$class";
$StudentArray = $Cobj->union($sql);

两个查询结果相同的输出。但是会有效吗?

1 个答案:

答案 0 :(得分:1)

第一个是有效的方式
单个呼叫总是比同一个数据的几个呼叫快。简单地说,网络转向,延迟本身就是一个组件,但也是一个开始向上和向下拆除SQL处理会产生一些影响。