Re: [PERFORM] DB Design

2004-05-20 Thread Mark Kirkwood
The complete answer is probably it depends, but this does not help 
much...:-)

I would try out the simple approach first (i.e one 50 million row 
table), but read up about :

i) partial indexes and maybe
ii) clustering
iii) think about presorting the data before loading to place likely to 
be accessed rows close together in the table (if possible).
iv) get to know the analyze, explain, explain analyze commands

Best wishes
Mark
Michael Ryan S. Puncia wrote:
Hi Guys,
  

  My question is .. which is better design
 

   1. Single Table with 50 million records or
   2. Multiple Table using inheritance to the parents table
 

 

I will use this only for query purpose ..
 

Thanks ..
 

 

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [PERFORM] Hardware Platform

2004-05-20 Thread Marty Scholes
Duane wrote:
 P.S. I've only just begun using PostgreSQL after having
 used (and still using) DB2 on a mainframe for the past 14
 years.  My experience with Unix/Linux is limited to some
 community college classes I've taken but we do have
 a couple of experienced Linux sysadmins on our team.
 I tell you this because my ignorance will probably
 show more than once in my inquiries.
Duane,
If you've been actively using and developing in DB2, presumably under 
MVS or whatever big blue is calling it these days, for 14 years, then 
you will bring a wealth of big system expertise to Pg.

Please stay involved and make suggestions where you thing Pg could be 
improved.

Marty
---(end of broadcast)---
TIP 6: Have you searched our list archives?
  http://archives.postgresql.org


Re: [PERFORM] PostgreSQL performance in simple queries

2004-05-20 Thread Tom Lane
Joseph Shraibman [EMAIL PROTECTED] writes:
 Neil Conway wrote:
 PostgreSQL ( 7.5) won't consider using an indexscan when the predicate 
 involves an integer literal and the column datatype is int2 or int8.

 Is this fixed for 7.5?  It isn't checked off on the TODO list at
 http://developer.postgresql.org/todo.php

It is.  I don't know why Bruce hasn't checked it off.


Some other stuff that needs work in TODO:

: Bracketed items [] have more detailed.

More detailed what?  Grammar please.

: * Remove unreferenced table files and temp tables during database vacuum
:   or postmaster startup (Bruce)

I'm not sure this is still needed given that we now log file deletion in
WAL.

: * Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE

Seems to be done.

: * Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)

Done.

: * Make LENGTH() of CHAR() not count trailing spaces

Done.

: * Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
:   float4, numeric/decimal too

Done, per above.

: * Allow more ISOLATION LEVELS to be accepted, but issue a warning for them

Presently we accept all four with no warning ...

: * Add GUC setting to make created tables default to WITHOUT OIDS

Seems to be done, other than the argument about how pg_dump should work.

: * Allow fastpast to pass values in portable format

This was done in 7.4.

: * Move psql backslash database information into the backend, use nmumonic
:   commands? [psql]

Spelling problem...

: * JDBC

With JDBC out of the core, I'm not sure why we still have a JDBC section
in the core TODO.

: * Have pg_dump -c clear the database using dependency information

I think this works now.  Not really tested, but in principle it should
work.

: * Cache last known per-tuple offsets to speed long tuple access

This sounds exactly like attcacheoff, which has been there since
Berkeley.  Either remove this or fix the description to give some
idea what's really meant.

: * Automatically place fixed-width, NOT NULL columns first in a table

This is not ever going to happen, given that we've rejected the idea of
having separate logical and physical column positions.

: * Change representation of whole-tuple parameters to functions

Done.  (However, you might want to add something about supporting
composite types as table columns, which isn't done.)

: * Allow the regression tests to start postmaster with -i so the tests
:   can be run on systems that don't support unix-domain sockets

Done long ago.

regards, tom lane

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])


Re: [PERFORM] Interpreting vmstat

2004-05-20 Thread Thom Dyson




Well,

Since I haven't seen any other responds, I'll offer a bit of advice and let
others correct me. :)

Your shared buffers may be too big (?).  It is much larger than the guide
on varlena.com recommends.  All I can suggest is trying some experiments
with halving/doubling the numbers to see which way performance goes.  Also,
if you are counting on cache to improve performance, then the db has to be
loaded into cache the first time. So, are subsequent re-queries faster?

Thom Dyson
Director of Information Services
Sybex, Inc.



[EMAIL PROTECTED] wrote on 05/18/2004 11:12:14 AM:

 Hello,
 (note best viewed in fixed-width font)

 I'm still trying to find where my performance bottle neck is...
 I have 4G ram, PG 7.3.4
 shared_buffers = 75000
 effective_cache_size = 75000



---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [PERFORM] PostgreSQL performance in simple queries

2004-05-20 Thread Joseph Shraibman
Tom Lane wrote:
: * JDBC
With JDBC out of the core, I'm not sure why we still have a JDBC section
in the core TODO.
Speaking of which why is the jdbc site so hard to find?  For that matter 
the new foundry can only be found through the news article on the front 
page.

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [PERFORM] Wierd context-switching issue on Xeon

2004-05-20 Thread Josh Berkus
Guys,
 
 Oh, you wanted a fix?  That seems harder :-(.  AFAICS we need a redesign
 that causes less load on the BufMgrLock.

FWIW, we've been pursuing two routes of quick patch fixes.

1) Dave Cramer and I have been testing setting varying rates of spin_delay in 
an effort to find a sweet spot that the individual system seems to like.   
This has been somewhat delayed by my illness.

2) The OSDL folks have been trying various patches to use Linux 2.6 Futexes in 
place of semops (if I have that right) which, if successful, would produce a 
linux-specific fix.   However, they haven't yet come up wiith a version of 
the patch which is stable.

I'm really curious, BTW, about how all of Jan's changes to buffer usage in 7.5 
affect this issue.   Has anyone tested it on a recent snapshot?

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [PERFORM] Wierd context-switching issue on Xeon

2004-05-20 Thread Tom Lane
Josh Berkus [EMAIL PROTECTED] writes:
 I'm really curious, BTW, about how all of Jan's changes to buffer
 usage in 7.5 affect this issue.  Has anyone tested it on a recent
 snapshot?

Won't help.

(1) Theoretical argument: the problem case is select-only and touches
few enough buffers that it need never visit the kernel.  The buffer
management algorithm is thus irrelevant since there are never any
decisions for it to make.  If anything CVS tip will have a worse problem
because its more complicated management algorithm needs to spend longer
holding the BufMgrLock.

(2) Experimental argument: I believe that I did check the self-contained
test case we eventually developed against CVS tip on one of Red Hat's
SMP machines, and indeed it was unhappy.

regards, tom lane

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])