How to compare a series of tables across two databases? We use a setup that reads a .csv file that has two columns:
- Column 1 is a query in database 1, and
- Column 2 is a query in database 2
Both queries should return the same and ordered list of values (basically, a list of identifiers) and are fed into an SQLExecutor. Both resulting streams are compared using a FeatureMerger, and the UnmergedRequestor and UnUsedSupplier ports report the features that are not present in both databases. This works nice for relatively small tables. If a table is queried that has more than a million records, performance drops. I solved this performance issue by using database readers. I specified the Number of Records To Fetch At A Time (ORACLE) and the Bulk Read Size (MSSQL) and set them so that 100.000 records are fetched each time. I could work this out using a WorkspaceRunner, however my question is: Where are these parameters on the SQLCreator/SQLExecutor transformers?
Parameters available on the SQLExecutor:
Parameters available on the MSSQL Reader:
Parameters available on the Oracle Reader:
Any anwer would be greatly appreciated, also any comments on the way to solve this "database comparison" project.