-
-
Save tateisu/390eaf6a4abc84a8c339677691638316 to your computer and use it in GitHub Desktop.
SELECT "statuses"."id", "statuses"."updated_at" FROM "statuses" | |
WHERE "statuses"."account_id" = 1540 AND "statuses"."visibility" IN (0, 1) AND ( | |
statuses.reply = false OR statuses.in_reply_to_account_id = statuses.account_id | |
) ORDER BY "statuses"."id" DESC LIMIT 40 | |
通常のユーザだと特に遅くもないクエリだが、ユーザ1540は特別に遅い。 | |
ANALYZEはpgheroからだとタイムアウトする。 | |
psqlから実行すると以下の結果が得られた | |
postgres=# explain analyze SELECT "statuses"."id", "statuses"."updated_at" FROM "statuses" | |
postgres-# WHERE "statuses"."account_id" = 1540 AND "statuses"."visibility" IN (0, 1) AND ( | |
postgres(# statuses.reply = false OR statuses.in_reply_to_account_id = statuses.account_id | |
postgres(# ) ORDER BY "statuses"."id" DESC LIMIT 40; | |
QUERY PLAN | |
------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
Limit (cost=0.43..64.88 rows=40 width=16) (actual time=157432.529..157452.145 rows=40 loops=1) | |
-> Index Scan Backward using statuses_pkey on statuses (cost=0.43..401453.10 rows=249147 width=16) (actual time=157432.524..157452.089 rows=40 loops=1) | |
Filter: ((visibility = ANY ('{0,1}'::integer[])) AND ((NOT reply) OR (in_reply_to_account_id = account_id)) AND (account_id = 1540)) | |
Rows Removed by Filter: 454938 | |
Planning time: 3.128 ms | |
Execution time: 157452.331 ms | |
(6 rows) | |
1540のユーザは大量の投稿を(おそらくbot的に)行っていた。9月16日に活動を停止した。 | |
投稿量が多すぎて index_statuses_on_account_id_id ではなく statuses_pkey が選択されてしまう | |
postgres=# select count(*) from statuses where account_id=1540; | |
count | |
-------- | |
272804 | |
(1 row) | |
postgres=# select count(*) from statuses ; | |
count | |
--------- | |
3324508 | |
(1 row) | |
しかし9/16以降は活動していないので、 statuses_pkey を新しい順に読むと明らかに読み飛ばしが多く遅くなる。 | |
mastodon.juggler.jp
アカウント別のステータス数
postgres=# select id,statuses_count,username,domain,display_name from accounts order by statuses_count desc limit 100;
id | statuses_count | username | domain | display_name
-------+----------------+-------------------+---------------------------+--------------------------------------------
1540 | 272804 | jiei_yushi | | 慈永祐士(時事ニュース)
22113 | 175731 | 5 | friends.nico |
9883 | 103795 | Tacos | mstdn.jp | たこす(84.8kg)
3183 | 97144 | supa_tentuku | pawoo.net | 青葉ぱらいん ð��£
17297 | 93724 | Knzk | friends.nico | 【公式】神崎おにいさん✅
24170 | 73662 | Noih | friends.nico | :@noih:
5321 | 68263 | qf | mstdn.jp | 那由多 っ^ω^c
6330 | 68157 | sximada | mstdn.jp | しむどんð���
12796 | 64164 | nanairo7724 | mstdn.jp | ななついろ☆ふんころがし
22837 | 63875 | Phocidae_ | mstdn.kemono-friends.info | ユウグレイモ
19014 | 63824 | izumin | friends.nico | ð���いずみんð��±
20702 | 58197 | TomatoshouldDie | pawoo.net | のまど ð���
17870 | 57362 | gafq | | おもしろ師範
30537 | 57354 | mimorinka | mstdn.jp | みもりんか
16684 | 57260 | Reu | mstdn.jp | ぷるめあ
23509 | 57184 | Kaduki | friends.nico | ð���とぅきんちゃんð���
21139 | 56111 | putting_gelatina | pawoo.net | Lux@TAMATIMA� � � �
4481 | 55653 | fox_zz | pawoo.net | 餅風霜⛄️
8647 | 55024 | neco | mstdn.kemono-friends.info | ヒグマð��»ハンター
18578 | 54578 | lamazeP | friends.nico | チノ@誤字部兼情報処理部
2248 | 54006 | Elizafox | mst3k.interlinked.me | Mastodon (but in COBOL and MUMPS), KSC ���
23257 | 51676 | AkishoMK2 | friends.nico | ゆびにぃ:@AkishoMK2:
18866 | 51640 | howaito516 | friends.nico | チンコる君
23596 | 51156 | mod_d_d | friends.nico | 56✅ょ ゙ιぅょ美
5002 | 51095 | rara_toybox | pawoo.net | 瑠璃ららこð���ð��¨ð���ð���
10265 | 51053 | waterlight | mstdn.jp | ひかり✨
25080 | 51039 | sakky | friends.nico | ⚡️さっき〜⚡️✅
1701 | 50524 | cs3 | mastodon.cloud | ☁せせせð��«ð��·
9914 | 50076 | mkv | pawoo.net | マストドン彩菜
10217 | 49649 | 1234567 | mstdn.jp | ㄘㄘ
8522 | 49582 | 2272325 | mstdn.jp | メイ層あうあう
15926 | 49089 | hiho_karuta | friends.nico | ヒホ
25060 | 48743 | mousong | friends.nico | むぅそん
24362 | 47720 | mei23 | friends.nico | めいめい
16497 | 47359 | LiCHe | friends.nico | りちぇ✩22時就寝部
10192 | 46541 | JackIn999 | pawoo.net | じきゅ~9⃣ ð���ð��®
31200 | 45534 | yzhsn | friends.nico | 裾野(すその)
15691 | 45036 | vvvvvv1vvvvv | mstdn.jp | μネ申
6088 | 44562 | sazanka_ | pawoo.net | ☀燦々 咲散華ð���ð��¨
15374 | 44525 | sink_lincale | friends.nico | ð��ª古淵Lincað��ª
4024 | 43901 | imncls | pawoo.net | PC壊れましたフォロー解除してください。
23773 | 43864 | Bernsteinfarbe | mstdn.jp | ぺろすð���
7570 | 43813 | spl_dqn | mstdn.jp | どきゅんð��¯
visibilityにより見えていないのかと思ったので件のユーザからのstatusを確認しました
postgres=# select created_at,visibility from statuses where account_id=1540 order by id desc limit 100;
created_at | visibility
----------------------------+------------
2017-09-15 21:02:09.067836 | 0
2017-09-15 21:00:05.379561 | 0
2017-09-15 21:00:04.960421 | 0
2017-09-15 21:00:04.418683 | 0
(後略)
9/16に活動を停止して、その後は投稿していませんでした