1
    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


どの方法が良いですか?

4

2 に答える 2

0

データベースで実行すると、PHP で実行するよりもはるかに高速です。

100000回繰り返されるループ内で発生しているかどうかは重要な考慮事項ですが、1回発生している場合は違いがわかりません.

于 2013-05-04T07:33:27.517 に答える
0

SQL は PHP インライン クエリよりも優れています。私はいくつかの理由を説明します:

その時点でテーブルに大量のデータがある場合は、クエリを最適化して、PHP ではなくデータベースで簡単に最適化を実行できるようにする必要があります。

データベース層は常にアプリケーション層から分離されています。

PHPインラインクエリよりも高速なデータベースを使用して、動的クエリとブロックを取得することもできます。

ありがとう。

于 2013-05-04T07:36:10.437 に答える