forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitab59610
committed
BRIN minmax-multi indexes
Adds BRIN opclasses similar to the existing minmax, except that insteadof summarizing the page range into a single [min,max] range, the summaryconsists of multiple ranges and/or points, allowing gaps. This allowsmore efficient handling of data with poor correlation to physicallocation within the table and/or outlier values, for which the regularminmax opclassed tend to work poorly.It's possible to specify the number of values kept for each page range,either as a single point or an interval boundary. CREATE TABLE t (a int); CREATE INDEX ON t USING brin (a int4_minmax_multi_ops(values_per_range=16));When building the summary, the values are combined into intervals withthe goal to minimize the "covering" (sum of interval lengths), using asupport procedure computing distance between two values.Bump catversion, due to various catalog changes.Author: Tomas Vondra <tomas.vondra@postgresql.org>Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>Reviewed-by: Alexander Korotkov <aekorotkov@gmail.com>Reviewed-by: Sokolov Yura <y.sokolov@postgrespro.ru>Reviewed-by: John Naylor <john.naylor@enterprisedb.com>Discussion:https://postgr.es/m/c1138ead-7668-f0e1-0638-c3be3237e812@2ndquadrant.comDiscussion:https://postgr.es/m/5d78b774-7e9c-c94e-12cf-fef51cc89b1a%402ndquadrant.com1 parent77b88cd commitab59610
File tree
19 files changed
+5286
-26
lines changed- doc/src/sgml
- src
- backend/access/brin
- include
- access
- catalog
- test/regress
- expected
- sql
19 files changed
+5286
-26
lines changedLines changed: 270 additions & 10 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| 20 | + | |
20 | 21 |
| |
21 | 22 |
| |
22 | 23 |
| |
|
0 commit comments
Comments
(0)