Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
在php/mysql表中使用多重连接作为对象或类似的东西_Php_Mysql_Join - Fatal编程技术网

在php/mysql表中使用多重连接作为对象或类似的东西

在php/mysql表中使用多重连接作为对象或类似的东西,php,mysql,join,Php,Mysql,Join,在我的mysql数据库中,我有一个4级父表,当我在php中使用它们时,我不想每次都编写多重连接。。。 范例 研究使用存储过程作为变量查询的简写 使用视图的好处是充分利用WHERE过滤器 查询视图时,优化者可能会决定执行以下操作 select * from (select ... from ...) where col=value 当使用存储过程时,您将 select ... from ... where col=value 性能差异可能很大 当我在php中使用它们时,我不想每次都编写多重代码

在我的mysql数据库中,我有一个4级父表,当我在php中使用它们时,我不想每次都编写多重连接。。。 范例


研究使用存储过程作为变量查询的简写

使用视图的好处是充分利用WHERE过滤器

查询视图时,优化者可能会决定执行以下操作

select * from (select ... from ...) where col=value
当使用存储过程时,您将

select ... from ... where col=value
性能差异可能很大

当我在php中使用它们时,我不想每次都编写多重代码 加入

考虑创建一个视图,然后使用下面的查询,并在PHP代码中使用该视图

在PHP代码中,只需对创建的视图执行SELECT,如

select * from vw_multilevelquery;

使用CREATE view完成时,如果查询视图中的特定值,优化器可能会决定运行整个视图,然后查询您的值。存储过程将完全按照您的指示执行。性能差异可能非常显著。这就像从条件所在的表中选择*和从条件所在的表中选择*一样
create view vw_multilevelquery as
select ... FROM tableA 
INNER JOIN tableB ON (tableA.id = tableB.idA) 
INNER JOIN tableC ON (tableB.id = tableC.idB)...
select * from vw_multilevelquery;