On Mon, Aug 23, 2010 at 2:47 PM, Kevin Grittner <Kevin.Grittner@xxxxxxxxxxxx> wrote: > Grzegorz Jaœkiewicz<gryzman@xxxxxxxxx> wrote: > >> joining on varchars is always going to be very expensive. Longer >> the value is, more expensive it will be. Consider going for >> surrogate keys. > > Surrogate keys come with their own set of costs and introduce quite > a few problems of their own. I don't want to start a flame war or > go into an overly long diatribe on the evils of surrogate keys on > this thread; suffice it to say that it's not the first thing to try > here. > > As an example of the performance we get using natural keys, with > compound keys on almost every table, check out this 1.3TB database, > being updated live by 3000 users as you view it: > > http://wcca.wicourts.gov/ > > Some tables have hundreds of millions of rows. No partitioning. > True, but as far as joining is concerned, joining on single column fixed length fields is always going to be a win. Hence why surrogate keys make sens in this particular example, or the guy here should at least test it to see, rather than believe in one or the other. -- GJ -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance