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