SELECT * FROM tablename.questions
where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=date( from_unixtime(question_created))
order by question_click_count desc
;
显示7天的数据
我可以在php中这样做
$day = mktime(0,0,0,date("m"),date("d")-7,date("Y"));
然后查询sql
select * from 'question'
where question_created < $day and XXXXXXX
哪种方式更好?
答案 0 :(得分:0)
在数据库中执行此操作比在PHP中执行操作更快 。
这是一个重要的考虑因素,如果它发生在一个重复100000次的循环中,但是如果它发生了一次你将无法分辨出来。
答案 1 :(得分:0)
SQL比PHP内联查询更好。我描述了一些原因:
当您的表当时有大量数据时,您需要优化查询,以便您可以轻松地在数据库上执行优化,而不是PHP。
数据库层始终与应用层分开。
即使你会得到一些动态查询&amp;阻止使用数据库,这比PHP内联查询更快。
感谢。