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 为什么Mysql表大小会通过LIMIT命令影响运行时_Php_Mysql - Fatal编程技术网

Php 为什么Mysql表大小会通过LIMIT命令影响运行时

Php 为什么Mysql表大小会通过LIMIT命令影响运行时,php,mysql,Php,Mysql,我有两个表格-信息和评论。 信息有270000行,而注释只有100行 我运行一个php脚本,从数据库中选择数据并将其编码为json格式。 PHP脚本还将响应限制为仅前10行,除了名称之外,PHP文件Info.PHP和Comments.PHP完全相同 那么,为什么只有270000行的表在只打印前10行时要比100行的表花费更多的加载时间呢? 评论需要1秒,而信息需要10秒 这是PHP查询代码,非常简单: Info.php:$query=“按id限制从信息订单中选择*10;” Comments.ph

我有两个表格-信息和评论。 信息有270000行,而注释只有100行

我运行一个php脚本,从数据库中选择数据并将其编码为json格式。 PHP脚本还将响应限制为仅前10行,除了名称之外,PHP文件Info.PHP和Comments.PHP完全相同

那么,为什么只有270000行的表在只打印前10行时要比100行的表花费更多的加载时间呢? 评论需要1秒,而信息需要10秒

这是PHP查询代码,非常简单:

Info.php:
$query=“按id限制从信息订单中选择*10;”

Comments.php:
$query=“按id限制从注释顺序选择*10;”

出于测试目的,它们都有相同的列和相同的数据,唯一的区别是行数。所以我用PHP测试了很多次,并且:

Info.php:

select from database time: 0.6090 seconds
time taken to decode JSON: 6.4736 seconds
而Comments.php结果:

select from database time: 0.7309 seconds
time taken to decode JSON: 1.7178 seconds


谢谢

这可能是因为MySQL select子句的执行顺序。MySQL引擎必须首先按id列对表中的所有行进行排序,然后将结果限制为10行

这可能是因为MySQL select子句的执行顺序。MySQL引擎必须首先按id列对表中的所有行进行排序,然后将结果限制为10行

在数据库查询前后创建计时器。。然后在json编码之前和之后。。是数据库还是编码占用了时间?每个表有多少列?如果您认为是数据库造成的,请对查询进行解释并发布results@Dale出于测试目的,它们都有相同的列和相同的数据,唯一的区别是行数。因此,我用PHP和Info测试了时间。PHP结果:从数据库中选择时间:0.6090秒解码JSON的时间:6.4736秒,而Comments.PHP结果:从数据库中选择时间:0.7309秒解码JSON的时间:1.7178秒JSON为什么会在不同的时间解码相同的数据?@jokesonhiltionhotel,因为纯量要解码的数据的数目在数据库查询前后创建计时器。。然后在json编码之前和之后。。是数据库还是编码占用了时间?每个表有多少列?如果您认为是数据库造成的,请对查询进行解释并发布results@Dale出于测试目的,它们都有相同的列和相同的数据,唯一的区别是行数。因此,我用PHP和Info测试了时间。PHP结果:从数据库中选择时间:0.6090秒解码JSON的时间:6.4736秒,而Comments.PHP结果:从数据库中选择时间:0.7309秒解码JSON的时间:1.7178秒JSON为什么会在不同的时间解码相同的数据?@jokesonhiltionhotel,因为纯量事实上,我尝试删除“按顺序”命令,查询时间没有改变。您可以考虑使用视图来加速执行吗?您可以在没有PHP的情况下执行查询吗?用MySQL命令行?实际上我尝试删除“按顺序”命令,查询时间没有改变。您可以考虑使用视图来加速执行吗?您可以在没有PHP的情况下执行查询吗?使用mysql命令行?