Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-5649

JDBC cache store upsert support


    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • Loaders and Stores
    • None

      Currently before inserting an entry in the store, a SELECT is issued to find out if the entry already exists, and if so, it does an UPDATE instead of an INSERT.

      During data batch loading, those SELECT hurt performance and are not necessary, and even during normal regime, they could be promoted to upserts. The tricky part is, although upserts have been part of SQL standard since 2003, not all DBs support them in the same way [1][2]. So one way of tackling this is to enable support for standard SQL MERGE via configuration, falling back to SELECT+INSERT.

      [1] https://en.wikipedia.org/wiki/Merge_%28SQL%29#Other_non-standard_implementations
      [2] https://wiki.postgresql.org/wiki/UPSERT#UPSERT_as_implemented_in_practice

            Unassigned Unassigned
            gfernand@redhat.com Gustavo Fernandes (Inactive)
            0 Vote for this issue
            3 Start watching this issue