Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!

Slow inserts with indentity column

edited June 14 in General Discussion

Hi all,

I'm having issue with slow inserts from joined tables into one destination table. I'm using INSERT / SELECT, not row by row insert or similar.

My destination table has 80 columns with IDENTITY(0,1,1) as primary key.

Insert for just 400 records takes 5 seconds.
SELECT statement on joined tables is fast, but when I combine it with INSERT it takes 5 seconds for this amount of records.

Anyway, if I remove IDENTITY column from destination table, it takes just 200 ms.

Is there any proper way how to handle this, because gap between those two results is so huge.

I'm using Vertica inside Docker on Windows environment.

Cheers

Best Answer

  • Jim_KnicelyJim_Knicely Administrator
    edited June 11 Accepted Answer

    Hi,

    The problem isn't the IDENTITY per se, it's that you disabled the cache! When you create an IDENTITY column Vertica creates a sequence to back it. You've disabled the cache on the sequence, so for each row inserted Vertica has to grab a catalog lock to generate a new sequence value!

    Here is the doc link AUTO_INCREMENT and IDENTITY Sequences.

    Note that the third parameter you passed to IDENTITY was 1. A value of 0 or 1 specifies to disable caching.

    For further details on this topic, check out the doc page Sequence Caching!

    And here's a link to a Vertica Quick Tip titled "Be Careful with the Sequence CACHE Value"...

Answers

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file

Can't find what you're looking for? Search the Vertica Documentation, Knowledge Base, or Blog for more information.