Php 我的约会可以,但有些很慢
我在不同的php文件中有三个查询。但是我的速度有点问题 查询1和查询2大约需要650毫秒 查询3只需要大约140毫秒 下面有没有查询错误?如果是,请让我通知你 或者是否有任何不同的查询具有相同的结果和更短的时间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
$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