Devo sincronizzare una tabella di grandi dimensioni ~ 500 milioni di righe senza una chiave primaria tra SQL Server e MySQL. La tabella ha solo un indice composito non univoco cluster.
Ho una connessione ODBC tra i server, ma un'importazione di ~ 8 milioni di righe ha richiesto circa 45 minuti, quindi credo che un'importazione singola più grande sarebbe irragionevole poiché potrebbero verificarsi interruzioni in qualsiasi momento. Non riesco a modificare la struttura della tabella esistente, posso aggiungere altre tabelle. Dopo ulteriori letture, offset / fetch non è un'opzione per le tabelle di grandi dimensioni. "Seleziona ... dove x tra ... e ..." non è un'opzione in quanto non ho una chiave univoca.
Come posso esportare la tabella in batch che sono garantiti per contenere tutte le righe? Il mio problema è che, poiché la chiave cluster non è univoca, ordinare dopo non garantirebbe che le righe fisiche abbiano lo stesso ordine tra query consecutive e l'ordine dopo che tutte le colonne richiederebbero troppo tempo. E come consiglieresti di migrare i batch, tramite file ODBC o CSV?