I have a wee database server which regularly tries to insert 1.5 million or 
even 15 million new rows into a 400 million row table.  Sometimes these inserts 
take hours.

The actual query to produces the join is fast.  It's the insert which is slow.

INSERT INTO File (FileIndex, JobId, PathId, FilenameId, LStat, MD5, DeltaSeq)
  SELECT batch_testing.FileIndex, batch_testing.JobId, Path.PathId, 
Filename.FilenameId, batch_testing.LStat, batch_testing.MD5, 
batch_testing.DeltaSeq
    FROM batch_testing JOIN Path     ON (batch_testing.Path = Path.Path)
                       JOIN Filename ON (batch_testing.Name = Filename.Name);

This is part of the plan: http://img.ly/images/9374145/full 
<http://img.ly/images/9374145/full>  created via 
http://tatiyants.com/pev/#/plans <http://tatiyants.com/pev/#/plans>

This gist contains postgresql.conf, zfs settings, slog, disk partitions.

   https://gist.github.com/dlangille/33331a8c8cc62fa13b9f 
<https://gist.github.com/dlangille/33331a8c8cc62fa13b9f>

I'm tempted to move it to faster hardware, but in case I've missed something 
basic...

Thank you.

--
Dan Langille - BSDCan / PGCon
d...@langille.org




Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to