This content has been marked as final. Show 3 replies
It really depends on the data.
By default GG is combining all columns together as a virtual primary key but does no conflict checking by default. So when you can guarantee that the record you insert into the table is unique, then it will work.
BUT as soon as you insert the same record which is already inserted again, then you will run into trouble.
Let me demonstrate what happens when using an initial load as it makes it easier to describe:
we start at 10am the capture for a table. Now you insert a record at 10.01 o'clock into the tables. When you now start an initial load at 10.02 then the record you have inserted into the database at 10.01 will be replicated twice. During the initial load as the initial load is done at 10.02 and it includes the data from 10.01 AND it will be replicated again through the capture/replicat process.
Thank you Kgronau,
One more question : How does the performance degradation occur when replicating tables without PK/UK ?
Well, it depends on the amount of columns. Let me use 2 extreme examples. Having a table with just one column with a few records the performance degradation is minimal. But as soon as you have 90 and more columns (believe me, I've seen these tables w/o a PK etc) and GG uses all columns as a PK the performance will go down dramatically. So from my point of view I would add a PK/UK to the table and even if it is just a sequence column.1 person found this helpful