Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 哪个会消耗更少的资源?使用编程语言的子查询或两个查询_Php_Mysql - Fatal编程技术网

Php 哪个会消耗更少的资源?使用编程语言的子查询或两个查询

Php 哪个会消耗更少的资源?使用编程语言的子查询或两个查询,php,mysql,Php,Mysql,这是利维 我正在做一个数据库太大的项目,我担心数据库查询优化必须在那个里完成。 我正在研究数据库,它在表中有几十亿条记录,我正在寻找快速的方法,从数据库服务器和web服务器上消耗更少的资源。 当时,我使用2个查询从如下表中选择数据 result1 = select data_id from table1 where id<1000 result1=从表1中选择数据\u id,其中id假设第一次查询生成m条记录,然后必须运行第二次查询m次。使用子查询也一样。 在资源消耗方面,我认为这两种方

这是利维 我正在做一个数据库太大的项目,我担心数据库查询优化必须在那个里完成。 我正在研究数据库,它在表中有几十亿条记录,我正在寻找快速的方法,从数据库服务器和web服务器上消耗更少的资源。 当时,我使用2个查询从如下表中选择数据

result1 = select data_id from table1 where id<1000

result1=从表1中选择数据\u id,其中id假设第一次查询生成m条记录,然后必须运行第二次查询m次。使用子查询也一样。
在资源消耗方面,我认为这两种方法没有什么不同,要么将重担放在数据库中,要么放在Web服务器上。
在2个查询方法中:将流程数据的所有权重放到Web服务器上,在子查询方法中,所有权重都放到数据库服务器上。
总之,2个查询~1个查询和1个子查询。决定权在于您选择将权重放在何处(由于您拥有庞大的数据库,我认为应该放在Web服务器上)

关于,

为什么不使用
JOIN
s?我会避免使用PHP应用程序逻辑来存储中间数据库结果。MySQL引擎是用来处理数据库的;让它做它设计的事情。通过使用联接,页面的加载变得很高。@据我所知,TimBiegeleisen实际上数据库大小太大,缓存内存变低。在经过适当调整的数据库上,数十亿条记录很少会导致性能问题;数以十亿计的查询确实会引发问题
select * from table2 where data_id1<result1