Skip site navigation (1) Skip section navigation (2)

Re: PostgreSQL+Hibernate Performance

From: Mark Lewis <mark(dot)lewis(at)mir3(dot)com>
To: Kranti K K Parisa™ <kranti(dot)parisa(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org, nik9000(at)gmail(dot)com
Subject: Re: PostgreSQL+Hibernate Performance
Date: 2008-08-20 15:24:46
Message-ID: 1219245886.7023.108.camel@archimedes.mir3.com (view raw or flat)
Thread:
Lists: pgsql-performance
The tradeoffs for multiple indexes are more or less as follows:

1. Having the right indexes makes queries faster, often dramatically so.

2. But more indexes makes inserts/updates slower, although generally not
dramatically slower.

3. Each index requires disk space.  With several indexes, you can easily
have more of your disk taken up by indexes than with actual data.

I would be careful to only create the indexes you need, but it's
probably worse to have too few indexes than too many.  Depends on your
app though.

-- Mark

On Wed, 2008-08-20 at 20:40 +0530, Kranti K K Parisa™ wrote:
> creating multiple indexes on same column will effect performance?
>  for example:
> 
> index1 : column1, column2, column3
> index2: column1
> index3: column2,
> index4: column3
> index5: column1,column2
> 
> which means, i am trying fire the SQL queries keeping columns in the
> where conditions. and the possibilities are like the above.
> 
> if we create such indexes will it effect on performance?
> and what is the best go in this case?
> 
> 
> On Wed, Aug 20, 2008 at 8:10 PM, Mark Lewis <mark(dot)lewis(at)mir3(dot)com>
> wrote:
>         On Wed, 2008-08-20 at 17:55 +0530, Kranti K K Parisa™ wrote:
>         
>         
>         > Hi,
>         >
>         > Can anyone suggest the performance tips for PostgreSQL using
>         > Hibernate.
>         >
>         > One of the queries:
>         >
>         > - PostgreSQL has INDEX concept and Hibernate also has Column
>         INDEXes.
>         > Which is better among them? or creating either of them is
>         enough? or
>         > need to create both of them?
>         >
>         > and any more performace aspects ?
>         
>         
>         
>         Hibernate is a library for accessing a database such as
>         PostgreSQL.  It
>         does not offer any add-on capabilities to the storage layer
>         itself.  So
>         when you tell Hibernate that a column should be indexed, all
>         that it
>         does create the associated PostgreSQL index when you ask
>         Hibernate to
>         build the DB tables for you.  This is part of Hibernate's
>         effort to
>         protect you from the implementation details of the underlying
>         database,
>         in order to make supporting multiple databases with the same
>         application
>         code easier.
>         
>         So there is no performance difference between a PG index and a
>         Hibernate
>         column index, because they are the same thing.
>         
>         The most useful Hibernate performance-tuning advice isn't
>         PG-specific at
>         all, there are just things that you need to keep in mind when
>         developing
>         for any database to avoid pathologically bad performance;
>         those tips are
>         really beyond the scope of this mailing list, Google is your
>         friend
>         here.
>         
>         I've been the architect for an enterprise-class application
>         for a few
>         years now using PostgreSQL and Hibernate together in a
>         performance-critical context, and honestly I can't think of
>         one time
>         that I've been bitten by a PG-specific performance issue (a
>         lot of
>         performance issues with Hibernate that affected all databases
>         though;
>         you need to know what you're doing to make Hibernate apps that
>         run fast.
>         If you do run into problems, you can figure out the actual SQL
>         that
>         Hibernate is issuing and do the normal PostgreSQL explain
>         analyze on it;
>         usually caused by a missing index.
>         
>         -- Mark
>         
>         
>         
>         
>         --
>         Sent via pgsql-performance mailing list
>         (pgsql-performance(at)postgresql(dot)org)
>         To make changes to your subscription:
>         http://www.postgresql.org/mailpref/pgsql-performance
> 
> 
> 
> -- 
> 
> Best Regards
> Kranti Kiran Kumar Parisa
> M: +91 - 9391 - 438 - 738
> +91 - 9849 - 625 - 625
> 
> 

In response to

pgsql-performance by date

Next:From: Mark LewisDate: 2008-08-20 15:29:43
Subject: Re: PostgreSQL+Hibernate Performance
Previous:From: Matthew WakelingDate: 2008-08-20 15:24:07
Subject: Re: PostgreSQL+Hibernate Performance

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group