Hi All,
How do you control the order in which columns are added to a
multi-column primary key when using the declarative primary_key=True syntax?
How about when one of those columns comes from a mixin?
Context is in the mail below, any help gratefully received!
Chris
-------- Forwarded Message --------
Subject: Re: [GENERAL] performance problems with bulk inserts/updates
on tsrange with gist-based exclude constrains
Date: Mon, 19 Sep 2016 09:41:33 -0700
From: Jeff Janes <jeff.ja...@gmail.com>
To: Chris Withers <ch...@simplistix.co.uk>
CC: pgsql-general <pgsql-gene...@postgresql.org>
On Fri, Sep 16, 2016 at 2:01 AM, Chris Withers <ch...@simplistix.co.uk
<mailto:ch...@simplistix.co.uk>> wrote:
Hi All,
I have quite a few tables that follow a pattern like this:
Table "public.my_model"
Column | Type | Modifiers
--------+-------------------+-----------
period | tsrange | not null
key | character varying | not null
value | integer |
Indexes:
"my_model_pkey" PRIMARY KEY, btree (period, key)
"my_model_period_key_excl" EXCLUDE USING gist (period WITH &&,
key WITH =)
Check constraints:
"my_model_period_check" CHECK (period <> 'empty'::tsrange)
Try swapping the order of the columns in the exclude constraint. You
want the more selective criterion to appear first in the
index/constraint. Presumably "key with =" is the most selective,
especially if many of your periods are unbounded.
Cheers,
Jeff
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.