php - date_add 或 date_sub 速度差异?

标签 php mysql

给出以下两个 mysql 查询:

SELECT * FROM table1 WHERE DATE_ADD(datetimecolumn,INTERVAL 24 HOUR)>NOW()

还有

SELECT * FROM table1 WHERE DATE_SUB(NOW(),INTERVAL 24 HOUR)>datetimecolumn

哪个查询会更快?

最佳答案

我认为您想知道:

第二个应该明显更快,因为datetimecolumn可以直接在索引操作中使用。如果没有索引,我认为差异应该可以忽略不计(时间操作和函数调用比从磁盘检索数据快得多)。

你真正问的是什么:

这两个查询不等价(它们不返回相同的记录)。

DATE_ADD(datetimecolumn,INTERVAL 24 HOUR)>NOW()

检索从现在起 24 小时内较新的记录(因此,是自昨天以来插入的所有记录)。

第二个

DATE_SUB(NOW(),INTERVAL 24 HOUR)>datetimecolumn

检索从现在起超过 24 小时(过去两天或更长时间)的记录。

因此,在这种情况下,哪个查询更快,答案是这取决于有多少条记录......

关于php - date_add 或 date_sub 速度差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13176261/

相关文章:

python - 无法在 Python-MySQL 表中迭代插入值

php - 没有显示需要显示的内容

php - Zend OPcache 的 "num_cached_keys"统计数据是什么意思?

php - jQuery.post() 如何处理 Content-Disposition : attachment?

PHP 搜索函数返回 HTML BR 标记

php - 如何将当前时间戳添加到图像路径中

mysql - 这是在 mysql 中的同一个表上创建多个 View 的好习惯(性能方面)吗?

php - 如何更新CodeIgniter中的数据?

php - Laravel 5 使用关系查询导致 "Call to a member function addEagerConstraints() on null"错误

MySql为某个ip创建用户