Skip to main content
Solved

Using very big tables


rvgfox
Problem Solver
Forum|alt.badge.img+4
  • Problem Solver
  • 222 replies

I have a very big table with millions of records.

I’ve divided it in three mappings : aggregate, historical and current.

If I need to do a full load only for the current mapping, what can I do it?

Best answer by Thomas Lind

Hi @rvgfox 

It will be automatically handled by each individual mapping.

Say you have a setup like this.

I have three data sources, but it could be three unique tables with the same setup in a data source as well. Two of them run incrementally and one fully. As long as the table is not set to Full Load, it will run each mapping with the setup it have in the ODX.

If one of these tables is fully loaded, but the two others haven’t been updated at all and you run it, it will check the incremental value for the table see which table have new rows and then apply only that. Unless it is the table without incremental load that was fully loaded, it will mean that two tables are fully loaded on this transfer.

So ideally all three mapped tables should use incremental load in their setup, even though they do not get executed regularly.

There could be an increase in time spent on data cleansing as it has to go through all PK values and decide if updates are needed, so if that is a too big increase in time, you will need to split it out into three tables and merge them with a view as suggested by @RLB

View original
Did this topic help you find an answer to your question?

3 replies

  • Contributor
  • 75 replies
  • January 22, 2024

I guess you could create three intermediate tables, each with a different selection rule. You can then perform a full load on the current table. Make a new destination table mapping to the three intermediate tables and do an incremental load on that one. Or combine the three tables in one view.


Thomas Lind
Community Manager
Forum|alt.badge.img+5
  • Community Manager
  • 1017 replies
  • Answer
  • January 22, 2024

Hi @rvgfox 

It will be automatically handled by each individual mapping.

Say you have a setup like this.

I have three data sources, but it could be three unique tables with the same setup in a data source as well. Two of them run incrementally and one fully. As long as the table is not set to Full Load, it will run each mapping with the setup it have in the ODX.

If one of these tables is fully loaded, but the two others haven’t been updated at all and you run it, it will check the incremental value for the table see which table have new rows and then apply only that. Unless it is the table without incremental load that was fully loaded, it will mean that two tables are fully loaded on this transfer.

So ideally all three mapped tables should use incremental load in their setup, even though they do not get executed regularly.

There could be an increase in time spent on data cleansing as it has to go through all PK values and decide if updates are needed, so if that is a too big increase in time, you will need to split it out into three tables and merge them with a view as suggested by @RLB


Christian Hauggaard
Community Manager
Forum|alt.badge.img+5

Hi @rvgfox has this issue been resolved? If so can you please help us by marking a best answer above? If you have follow up questions please let us know


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings