Re: Table scan on 15.2
От | Adrian Klaver |
---|---|
Тема | Re: Table scan on 15.2 |
Дата | |
Msg-id | 724ef849-740a-d987-8a0d-cd5f42bc2aa4@aklaver.com обсуждение исходный текст |
Ответ на | Table scan on 15.2 (Arthur Ramsey <arthur.ramsey@code42.com>) |
Ответы |
Re: Table scan on 15.2
|
Список | pgsql-general |
On 3/15/23 08:17, Arthur Ramsey wrote: > I've upgraded from 12.11 to 15.2 and I'm seeing this query now use a > sequential scan which is taking 500ms instead of < 2ms. If I disable > sequential scans then it performs as well as 12.11. Did you run ANALYZE on the database/table in the new 15.2 instance? > > Schema: > > Table "public.t_user" > > Column |Type| Collation | Nullable | Default > > ---------------------------+------------------------+-----------+----------+-------------- > > uid | character varying(36)| | not null | > > username| character varying(346) | | not null | > > tenant_id | character varying(36)| | not null | > > active| boolean| || true > > watchlists| text[] | | not null | '{}'::text[] > > authorized_activity_lists | text[] | | not null | '{}'::text[] > > Indexes: > > "user_pkey" PRIMARY KEY, btree (uid) > > "idx_t_user__tenant_id" btree (tenant_id) > > "idx_t_user__username" btree (username) > > "idx_t_user__username__upper" btree (upper(username::text)) > > Referenced by: > > TABLE "t_cloud_alias" CONSTRAINT "t_cloud_alias_fk_t_user_uid" FOREIGN > KEY (user_uid) REFERENCES t_user(uid) ON DELETE CASCADE > > > 12.11: > Index Scan using idx_t_user__username__upper on t_user user0_ > (cost=0.42..8164.72 rows=1000 width=113) (actual time=0.316..1.014 > rows=36 loops=1) > Index Cond: (upper((username)::text) = ANY ('{[redacted]}'::text[])) > Planning Time: 1.434 ms > Execution Time: 1.038 ms > > 15.2: > Seq Scan on t_user user0_ (cost=2.50..39152.22 rows=800678 width=761) > (actual time=19.148..514.658 rows=36 loops=1) > Filter: (upper((username)::text) = ANY ('{[redacted}'::text[])) > Rows Removed by Filter: 806235 > Planning Time: 0.556 ms > Execution Time: 514.675 ms > > This is a list of distinct values from the IN clause and their count > (1000 total values). > > 1 > > 1 > > 1 > > 1 > > 1 > > 1 > > 1 > > 2 > > 2 > > 2 > > 3 > > 4 > > 6 > > 7 > > 7 > > 10 > > 10 > > 11 > > 12 > > 14 > > 14 > > 22 > > 22 > > 23 > > 23 > > 25 > > 29 > > 29 > > 34 > > 39 > > 50 > > 56 > > 67 > > 75 > > 137 > > 258 > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: