回答編集履歴

2

インデックスの件も追加

2022/01/11 06:57

投稿

退会済みユーザー
test CHANGED
@@ -27,3 +27,17 @@
27
27
  が通じるかどうか。
28
28
 
29
29
  (?の2箇所をそれぞれ同じ$valで置き換えさせて、クエリ上で6日分日付を足しているつもり。)
30
+
31
+
32
+
33
+ あと、余計なお世話かもしれませんが、
34
+
35
+ カラムidとpublishにはインデックスは設定済みでしょうか?
36
+
37
+ idがユーザーIDらしいので重複を許すインデックスで、
38
+
39
+ publishも同じく重複を許すインデックスでしょうね。
40
+
41
+ SQL実行ログを記録できるように設定変更できていれば、
42
+
43
+ [EXPLAINの利用](https://www.postgresql.jp/document/13/html/using-explain.html)でクエリー実行パフォーマンスを念の為にチェックしてみると良いです。

1

whereの見直し

2022/01/11 06:57

投稿

退会済みユーザー
test CHANGED
@@ -21,3 +21,9 @@
21
21
 
22
22
 
23
23
  SQLに慣れているのであれば、`DB::raw(~)`でSQL処理系に依存する表記で書いてしまってもいいでしょうし。
24
+
25
+ `->whereRaw("publish between cast(? as timestamp) and cast(? as timestamp) + '6 days'::interval", [$val, $val])`
26
+
27
+ が通じるかどうか。
28
+
29
+ (?の2箇所をそれぞれ同じ$valで置き換えさせて、クエリ上で6日分日付を足しているつもり。)