Re: WIP: Covering + unique indexes.
От | Thomas Munro |
---|---|
Тема | Re: WIP: Covering + unique indexes. |
Дата | |
Msg-id | CAEepm=2gh3nKi2u18i4r=TLhMyZf6guWSwmrHEcwm7dyJahnow@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: WIP: Covering + unique indexes. (Anastasia Lubennikova <a.lubennikova@postgrespro.ru>) |
Ответы |
Re: WIP: Covering + unique indexes.
(Anastasia Lubennikova <a.lubennikova@postgrespro.ru>)
Re: WIP: Covering + unique indexes. (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Список | pgsql-hackers |
On Fri, Jan 26, 2018 at 3:01 AM, Anastasia Lubennikova <a.lubennikova@postgrespro.ru> wrote: > Thanks for the reminder. Rebased patches are attached. This is a really cool and also difficult feature. Thanks for working on it! Here are a couple of quick comments on the documentation, since I noticed it doesn't build: SGML->XML change: (1) empty closing tags "</>" are no longer accepted, (2) <xref ...> now needs to be written <xref .../> and (3) xref IDs are now case-sensitive. + PRIMARY KEY ( <replaceable class="parameter">column_name</replaceable> [, ... ] ) <replaceable class="parameter">index_parameters</replaceable> <optional>INCLUDE (<replaceable class="parameter">column_name</replaceable> [, ...])</optional> | I hadn't seen that use of "<optional>" before. Almost everywhere else we use explicit [ and ] characters, but I see that there are other examples, and it is rendered as [ and ] in the output. OK, cool, but I think there should be some extra whitespace so that it comes out as: [ INCLUDE ... ] instead of: [INCLUDE ...] to fit with the existing convention. + ... This also allows <literal>UNIQUE</> indexes to be defined on + one set of columns, which can include another set of columns in the + <literal>INCLUDE</> clause, on which the uniqueness is not enforced. + It's the same with other constraints (PRIMARY KEY and EXCLUDE). This can + also can be used for non-unique indexes as any columns which are not required + for the searching or ordering of records can be used in the + <literal>INCLUDE</> clause, which can slightly reduce the size of the index. Can I suggest rewording these three sentences a bit? Just an idea: <literal>UNIQUE</literal> indexes, <literal>PRIMARY KEY</literal> constraints and <literal>EXCLUDE</literal> constraints can be defined with extra columns in an <literal>INCLUDE</literal> clause, in which case uniqueness is not enforced for the extra columns. Moving columns that are not needed for searching, ordering or uniqueness into the <literal>INCLUDE</literal> clause can sometimes reduce the size of the index while retaining the possibility of using a faster index-only scan. -- Thomas Munro http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: