Skip to content

Best way to insert/create or update many? #1422

Open
@patarapolw

Description

@patarapolw

Let's say, UPDATE operations are the most limited here. But I guess I can do this.

    await new Promise<void>((resolve, reject) => {
      driver.serialize(async () => {
        try {
          const stmt = driver.prepare(/* sql */ '')

          driver.exec('BEGIN TRANSACTION')

          items.map((it) => {
            stmt.run(it)
          })

          driver.exec('COMMIT')
          resolve()
        } catch (e) {
          driver.exec('ROLLBACK TRANSACTION')
          reject(e)
        }
      })
    })

What I want to ask is, can I use driver.parallelize, and will it help much?

    await new Promise<void>((resolve, reject) => {
      driver.serialize(async () => {
        try {
          const stmt = driver.prepare(/* sql */ '')

          driver.exec('BEGIN TRANSACTION')

          driver.parallelize(() => {
            items.map((it) => {
              stmt.run(it)
            })
          })

          driver.exec('COMMIT')
          resolve()
        } catch (e) {
          driver.exec('ROLLBACK TRANSACTION')
          reject(e)
        }
      })
    })

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions