哪个是最不密集的 – 在PHP或MySQL中计算出独特的小时?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了哪个是最不密集的 – 在PHP或MySQL中计算出独特的小时?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图找出一种方法来跟踪 MySQL中的印象,而不会杀死在高峰时段已经做了相当多的便宜的芯片服务器.

我的想法是简单地记录每小时的展示次数.我需要知道的是获得唯一小时值的最不密集的方法是什么.

按照我在此处找到的建议:https://rollbar.com/blog/post/2013/03/29/using-unique-indexes-for-fun-and-profit我想创建一个跟踪每小时展示次数的表格.

教程建议我做类似的事情:

INSERT INTO hour_imPression (hour,imPRessions)
VALUES (379015,1)
ON DUPLICATE KEY UPDATE impressions = impressions + 1

现在显然小时需要是一个独特的价值,但是产生这个独特价值的最佳方式是什么?

PHP工作的时间是unix时代以来最有效的方法,或者这是我可以让MysqL为我做的事情吗?

如果我这样做:

INSERT INTO hour_impression (hour,impressions)
VALUES (DATE_FORMAT(From_UNIXTIME(Now()),'%Y%j%H'),1)
ON DUPLICATE KEY UPDATE impressions = impressions + 1

我非常有信心它会起作用但是这会花费我太多的钱,因为要求DB在PHP中使用它然后提供数据.

这会更快还是更少?

$sql = "INSERT INTO hour_impression (hour,impressions)
VALUES (" . date('YzG') . ",1)
ON DUPLICATE KEY UPDATE impressions = impressions + 1";

还有其他方法我没有考虑过吗?

我只是在试图弄清楚这一点,但实际上我不应该担心这一点差别很小吗?

解决方法

如果你的目标是在用于密钥的Ram上最有效,那么使用无符号整数作为日期将是最好的.
现在拥有包含小时和秒的时间戳将不是一个好主意,特别是如果您的流量增长.

strtotime(date('Y-m-d H:00:00'))

每小时您将拥有24个独特的时间值.如果您选择’Y-m-d H:i:s’格式,您每天可能会获得80k的独特价值.

脚本宝典总结

以上是脚本宝典为你收集整理的哪个是最不密集的 – 在PHP或MySQL中计算出独特的小时?全部内容,希望文章能够帮你解决哪个是最不密集的 – 在PHP或MySQL中计算出独特的小时?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。