私は多くのレコードを持つ投稿を持っています。私は今日の記事をユーザーに見せたい、それは約3〜4kです。DATE()MONTH()などの関数のクエリが遅くなります
creation_date - DATETIME
フィールド。このフィールドにはインデックスがあります。クエリで単純なフィルタレコードI私のクエリで
:
SELECT posts.title AS post_title
WHERE date(posts.creation_date) = DATE('2016-06-11')
14秒を実行するこのクエリ。これが起こるのはなぜ
...
SELECT posts.title AS post_title
WHERE pending_posts.creation_date > CONVERT('2016-06-11', DATETIME)
AND pending_posts.creation_date < CONVERT('2016-06-11', DATETIME) + INTERVAL 1 DAY
そして、それは0.2秒をとります。
は、その後、私はそれを変更しましたか? また、MONTH(posts.creation_date)
またはYEAR(posts.creation_date)
を変換するには、クエリの速度も遅くなるため、月間および年単位で投稿を表示する必要があります。
@Artiは - 私は私の答えでいくつかに関する情報を持っています –