首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MySQL的CURDATE()或PHP的date()更快?

使用MySQL的CURDATE()或PHP的date()更快?
EN

Stack Overflow用户
提问于 2011-05-25 00:48:38
回答 6查看 7.8K关注 0票数 4

使用mysql查询是否更快:

代码语言:javascript
复制
SELECT CURDATE() as today

或PHP语句:

代码语言:javascript
复制
$curdate = date('Y-m-d');

同样的答案也适用于使用date()与MySQL的NOW()CURTIME()吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-25 00:57:55

如果您只是简单地执行查询,以便将日期放入PHP脚本中,那么可以使用PHP函数。在这两种情况下,PHP和MySQL都会调用系统时钟,将时间值转换为格式化字符串并返回。MySQL版本将增加查询解析/编译的开销,以及从PHP->MySQL->PHP的往返。如果您通过TCP socket与MySQL通信,则会增加建立/发送/接收TCP连接和数据包的开销。

另一方面,如果要在查询中使用该数据值,最好将其保留在MySQL中。例如,随机地,您可能在午夜之前启动了一个脚本,这样PHP就会为其时间戳生成"May 24/201123:59:59.999“,但是查询直到"May 25/201100:00:00.001”才在MySQL中执行,所以现在日期不匹配。

票数 8
EN

Stack Overflow用户

发布于 2011-05-25 00:56:28

这真的要看情况。

将函数结果保存在原生环境中几乎总是更快。

如果要在php中使用日期,请使用php date()函数。

如果要在查询中使用日期,请使用MySQL NOW()函数。

如果php和MySQL运行在不同的机器上,肯定会尽可能长时间地将数据保存在每台机器中。网络上的往返将使所有其他考虑因素相形见绌。

争取最小的网络流量是一个很好的经验法则。

票数 5
EN

Stack Overflow用户

发布于 2011-05-25 00:54:34

如果是INSERT语句,最好使用mysql内置函数,但如果是SELECT语句,使用php函数'date();‘会更快。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6113920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档