Skip to content

oracledb_cdc: Improve snapshot performance (~50%) by reusing seeded schema metadata - #4695

Merged
josephwoodward merged 2 commits into
mainfrom
jw/oracleschemaper
Aug 13, 2026
Merged

oracledb_cdc: Improve snapshot performance (~50%) by reusing seeded schema metadata #4695
josephwoodward merged 2 commits into
mainfrom
jw/oracleschemaper

Conversation

@josephwoodward

@josephwoodward josephwoodward commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Currently when snapshotting, every row rebuilds the table schema from metadata. This change checks to see if the column metadata is the same as the previous row by pointer (ie, same slice - which is likely if snapshotting), and will reuse the generated schema.

The results below are without PREFETCH_ROWS configured.

Before:

2M rows, avg. 13MB/s took 40 seconds

image

After:

2M rows, avg. 25MB/s took 20 seconds (~50% improvement)

image

Comment thread internal/impl/oracledb/schema.go
@josephwoodward josephwoodward changed the title oracledb_cdc: enable reuse of seeded schema metadata oracledb_cdc: Improve snapshot performance (~50%) by reusing seeded schema metadata Aug 13, 2026
@josephwoodward
josephwoodward marked this pull request as ready for review August 13, 2026 10:23
@josephwoodward josephwoodward changed the title oracledb_cdc: Improve snapshot performance (~50%) by reusing seeded schema metadata oracledb_cdc: Improveme snapshot performance (~50%) by reusing seeded schema metadata Aug 13, 2026
@josephwoodward josephwoodward changed the title oracledb_cdc: Improveme snapshot performance (~50%) by reusing seeded schema metadata oracledb_cdc: Improve snapshot performance (~50%) by reusing seeded schema metadata Aug 13, 2026
@josephwoodward
josephwoodward merged commit 2665575 into main Aug 13, 2026
11 of 12 checks passed
@josephwoodward
josephwoodward deleted the jw/oracleschemaper branch August 13, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants