Php 我的约会可以,但有些很慢

Php 我的约会可以,但有些很慢,php,mysql,Php,Mysql,我在不同的php文件中有三个查询。但是我的速度有点问题 查询1和查询2大约需要650毫秒 查询3只需要大约140毫秒 下面有没有查询错误?如果是,请让我通知你 或者是否有任何不同的查询具有相同的结果和更短的时间 $query1 = "SELECT * FROM konu WHERE ( NOW() < DATE_ADD( `time` , INTERVAL 1 DAY) ) ORDER BY time DESC"; $query2 = "SELECT * FROM konu WHERE

我在不同的php文件中有三个查询。但是我的速度有点问题

查询1和查询2大约需要650毫秒

查询3只需要大约140毫秒

下面有没有查询错误?如果是,请让我通知你

或者是否有任何不同的查询具有相同的结果和更短的时间

$query1 = "SELECT * FROM konu WHERE ( NOW() <  DATE_ADD( `time` , INTERVAL 1 DAY) ) ORDER BY time DESC";

$query2 = "SELECT * FROM konu WHERE ( NOW() <  DATE_ADD( `time` , INTERVAL 2 DAY ) ) AND ( NOW() >  DATE_ADD( `time`, INTERVAL 1 DAY ) ) ORDER BY time DESC";

$query3 = "SELECT * FROM konu WHERE ( NOW() >  DATE_ADD( `time`, INTERVAL 2 DAY ) ) AND ( NOW() <  DATE_ADD( `time`, INTERVAL 900 DAY ) ) ORDER BY time DESC";

以防你不理解达贡的评论,并且完全正确。运行查询时,如果您通过函数修改列名,如使用日期操作,则无法使用该列上的索引。但是,如果您更改NOW,则可以使用基于“time”列的表上的现有索引

SELECT * 
   FROM konu 
   WHERE 
      NOW() <  DATE_ADD( `time` , INTERVAL 1 DAY) 
   ORDER BY 
      `time` DESC";
比较结果如下:

now LESS THAN   time          Time PLUS 1 day
8/12 10pm       8/12 2am      8/13 2am     keep this
8/12 10pm       8/11 11pm     8/12 11pm    keep this
8/12 10pm       8/10  4pm     8/11 4pm     not this
vs


未修改的时间可以利用indexe进行性能和排序。您只需将您所要求的内容颠倒过来,并保留原始列。

将时间修改应用到现在,然后日期添加可以索引。谢谢,我没有意识到这一点,很抱歉打扰您。这对我有用。@Gokhan,这没问题,也不是一场骚乱。。。这就是整个论坛的主题。。帮助那些可能不理解并仍在学习的人。。。我也在学习。。。它永远不会结束。
now LESS THAN   time          Time PLUS 1 day
8/12 10pm       8/12 2am      8/13 2am     keep this
8/12 10pm       8/11 11pm     8/12 11pm    keep this
8/12 10pm       8/10  4pm     8/11 4pm     not this
time AFTER     now            MINUS 1 day
8/12 2am       8/12 10pm      8/11 10pm      keep this
8/11 11pm      8/12 10pm      8/11 10pm      keep this
8/10 4pm       8/12 10pm      8/11 10pm      not this