php mysql随机读取_PHP与MySQL获取随机 – 查询与从文件读取 – 性能

我有10个文件,每个文件包含50到250行.

我需要能够从不同的文件中提取一个或多个随机行.

我目前这样做……

$lines = file($filePath);

if ($number == "1") {

return $lines[array_rand($lines)];

}

else {

shuffle($lines);

return array_slice($lines, 0, $number);

}

但是,我刚刚在这里阅读了使用MySQL做同样事情的方法:

将这10个文件移动到MySQL数据库并执行该查询时,我真的会获得如此大的性能提升吗?

谢谢!

解决方法:

根据我的经验,当您没有太多信息时,从文件中检索信息比从数据库检索信息更快.在我的情况下,我有文件,我存储数组的房子类型,例如,从文件中获取它更快.这些文件只有大约10kb,而且性能提高了10倍,也许我的性能提升有问题,但定义上它足够快,让我删除那些包含那些行的表并使用文本文件xD.

确保性能的最佳方法是使用函数microtime()并以两种方式完成.然后,您可以通过自己的基准测试看到性能.

我经常使用它:

$start = microtime(true);

// my code;

// If it's not a very long script, you should always put it inside a loop, let's say thousands times or more, depending on the script, because sometimes just the resources used by the system could vary the benchmark, as suggested by @Colin Morelli .

echo microtime(true) - $start;

您获得经过的微秒的输出.

标签:php,mysql,performance

来源: https://codeday.me/bug/20190709/1410731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值