From: | CG <cgg007(at)yahoo(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Nested loops are killing throughput |
Date: | 2006-09-19 18:59:13 |
Message-ID: | 20060919185913.21542.qmail@web37908.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
>If packet_status is large, that seems like a perfectly reasonable plan
>to me. If not ... what data type is packet_uuid? Is its equality op
>marked mergeable or hashable?
It is of type uniqueidentifier ...
CREATE OPERATOR =(
PROCEDURE = uniqueidentifier_eq,
LEFTARG = uniqueidentifier,
RIGHTARG = uniqueidentifier,
COMMUTATOR = =,
RESTRICT = eqsel,
JOIN = eqjoinsel,
HASHES,
MERGES,
SORT1 = <,
SORT2 = <,
LTCMP = <,
GTCMP = >);
It looks like it is marked both mergable and hashable.
So what size (I have no idea what units to use to think about table size... kilobytes? pages? rows?) is "large" ... It seems like we recently stepped over that imaginary line between medium and large.
We could re-tune PostgreSQL... What settings would make sense to tweak? Sort Memory?
We could partition the tables... I understand the theory behind table partitioning and partial indexes, but I've never come across a howto or even a best practices list.
We could remove data from the table... I don't like this as much, but if that's the only way, that's the only way.
From | Date | Subject | |
---|---|---|---|
Next Message | Henry Ortega | 2006-09-19 19:00:52 | Make Trigger run after completion of ENTIRE transaction |
Previous Message | Tom Lane | 2006-09-19 18:17:52 | Re: Nested loops are killing throughput |