Search Postgresql Archives

Re: Deleting takes days, should I add some index?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





čt 25. 2. 2021 v 22:02 odesílatel Pavel Stehule <pavel.stehule@xxxxxxxxx> napsal:
Hi

čt 25. 2. 2021 v 19:39 odesílatel Alexander Farber <alexander.farber@xxxxxxxxx> napsal:
Pavel, thank you for asking!

I have put the anonymized dump of my database at:

http://wordsbyfarber.com/words_dev.sql.gz (beware, it is a 1.3 GB download)

The question is why does the command take days (when I tried last time):

delete from words_games where created < now() - interval '12 month';


I tried to remove just only one row

postgres=# explain analyze delete from words_games where gid = 44877;
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                             QUERY PLAN                                                             │
╞════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
│ Delete on words_games  (cost=0.42..8.44 rows=0 width=0) (actual time=0.268..0.270 rows=0 loops=1)                                  │
│   ->  Index Scan using words_games_pkey on words_games  (cost=0.42..8.44 rows=1 width=6) (actual time=0.205..0.209 rows=1 loops=1) │
│         Index Cond: (gid = 44877)                                                                                                  │
│ Planning Time: 0.328 ms                                                                                                            │
│ Trigger for constraint words_chat_gid_fkey on words_games: time=0.215 calls=1                                                      │
│ Trigger for constraint words_moves_gid_fkey on words_games: time=0.240 calls=1                                                     │
│ Trigger for constraint words_scores_gid_fkey on words_games: time=0.103 calls=1                                                    │
│ Trigger for constraint words_puzzles_mid_fkey on words_moves: time=56.099 calls=4                                                  │
│ Trigger for constraint words_scores_mid_fkey on words_moves: time=22536.280 calls=4                                                │
│ Execution Time: 22593.293 ms                                                                                                       │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
(10 rows)

looks so you miss index

create index on words_scores(mid);

postgres=# explain analyze delete from words_games where gid = 183154;
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                             QUERY PLAN                                                             │
╞════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
│ Delete on words_games  (cost=0.42..8.44 rows=0 width=0) (actual time=0.369..0.371 rows=0 loops=1)                                  │
│   ->  Index Scan using words_games_pkey on words_games  (cost=0.42..8.44 rows=1 width=6) (actual time=0.283..0.288 rows=1 loops=1) │
│         Index Cond: (gid = 183154)                                                                                                 │
│ Planning Time: 0.230 ms                                                                                                            │
│ Trigger for constraint words_chat_gid_fkey on words_games: time=0.131 calls=1                                                      │
│ Trigger for constraint words_moves_gid_fkey on words_games: time=1.329 calls=1                                                     │
│ Trigger for constraint words_scores_gid_fkey on words_games: time=1.704 calls=1                                                    │
│ Trigger for constraint words_puzzles_mid_fkey on words_moves: time=4.068 calls=51                                                  │
│ Trigger for constraint words_scores_mid_fkey on words_moves: time=5.304 calls=51                                                   │
│ Execution Time: 13.037 ms                                                                                                          │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
(10 rows)

Regards

Pavel


Regards

Pavel


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux