J'ai besoin de synchroniser une grande table ~ 500 millions de lignes sans clé primaire entre SQL Server et MySQL. La table n'a qu'un index composite non unique en cluster.
J'ai une connexion ODBC entre les serveurs, mais une importation de ~ 8 millions de lignes a pris environ 45 minutes, donc je pense qu'une importation unique plus importante serait déraisonnable car des interruptions peuvent survenir à tout moment. Je ne peux pas changer la structure de table existante, je peux ajouter d'autres tables. Après une lecture supplémentaire, offset / fetch n'est pas une option pour les grandes tables. "Sélectionnez ... où x entre ... et ..." n'est pas une option car je n'ai pas de clé unique.
Comment exporter la table en lots garantis pour contenir toutes les lignes? Mon problème est que, puisque la clé en cluster n'est pas unique, la commande après cela ne garantirait pas que les lignes physiques ont le même ordre entre les requêtes consécutives et la commande après toutes les colonnes prendrait trop de temps. Et comment recommanderiez-vous de migrer les lots, via des fichiers ODBC ou CSV?