From: | Sameer Kumar <sameer(dot)kumar(at)ashnik(dot)com> |
---|---|
To: | PGSQL-Novice <pgsql-novice(at)postgresql(dot)org> |
Cc: | James David Smith <james(dot)david(dot)smith(at)gmail(dot)com> |
Subject: | Re: Index to help ordering? |
Date: | 2014-01-19 11:21:25 |
Message-ID: | CADp-Sm52tO1wQT28k1YFJ+xrtAYogCS_TJs3MNNMzWHQsEWfdw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
On Sat, Jan 18, 2014 at 4:47 AM, Daniel Staal <DStaal(at)usa(dot)net> wrote:
> --As of January 17, 2014 4:41:26 PM +0000, James David Smith is alleged to
> have said:
>
> I have a table of some 100m rows of data. There are 5 columns of data.
>> When I want to look at this data I typically want to sort it by ppid
>> (numeric) an then by time (timestamp). This simple select can often
>> take 15-20 seconds. Would adding an index to these two columns make it
>> quicker? What is the best way to achieve increased speed for this
>> common select query?
>>
>
> --As for the rest, it is mine.
>
> An index is likely to make it faster, although I wouldn't quite want to
> guarantee it. (I assume you are pulling in all the data? Otherwise an
> index on your *conditions* might make sense. Sorting the data likely takes
> less time than retrieving all of it.) Luckily enough it's easy to just try
> it and check.
>
> Since we are working on that one query in specific, I'd probably create an
> index on those two columns, in that order: `CREATE INDEX ixd_name ON table
> (ppid, time)`. I'm of course assuming that ppid's aren't unique.
>
> But again, if you are retrieving the entire table this may not help - what
> would help more is to limit the number of records you are retrieving and
> put an index on that condition. (Of course, if you are using LIMIT, then
> the index will definitely help.)
>
> Daniel T. Staal
>
> ---------------------------------------------------------------
> This email copyright the author. Unless otherwise noted, you
> are expressly allowed to retransmit, quote, or otherwise use
> the contents for non-commercial purposes. This copyright will
> expire 5 years after the author's death, or in 30 years,
> whichever is longer, unless such a period is in excess of
> local copyright law.
> ---------------------------------------------------------------
>
>
>
In addition to what has been already said, CLUSTERing the table by given
index could be of some more help.
Best Regards,
*Sameer Kumar | Database Consultant*
*ASHNIK PTE. LTD.*101 Cecil Street, #11-11 Tong Eng Building, Singapore
069533
M : *+65 8110 0350* T: +65 6438 3504 | www.ashnik.com
www.facebook.com/ashnikbiz | www.twitter.com/ashnikbiz
[image: email patch]
This email may contain confidential, privileged or copyright material and
is solely for the use of the intended recipient(s).
From | Date | Subject | |
---|---|---|---|
Next Message | Rohit Goyal | 2014-01-20 09:25:56 | Want to store extra integer value in Index Tuple |
Previous Message | Daniel Staal | 2014-01-17 20:47:44 | Re: Index to help ordering? |