繁体   English   中英

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

[英]which way of using query will be efficient?

我有两个表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);

要么

$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);

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

第一个是有效的方法
单个调用总是比对同一数据的几次调用更快。只是网络转向并且延迟本身就是一个组件,但SQL处理的启动和拆除也会产生一些影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM