Lors de la migration d'Oracle vers KingbaseES (KES), l'une des différences les plus dangereuses mais subtiles est la façon dont l'optimiseur de requêtes traite les jointures externes. Dans Oracle, certains modèles de jointure externe sont préservés pour garantir des résultats corrects, mais l'optimiseur de KES peut les éliminer, les traitant comme des jointures internes. Cela peut entraîner la perte silencieuse de lignes, conduisant à une corruption des données sans aucune erreur. L'article fournit un exemple concret et explique comment détecter de tels cas en analysant les plans de requête. Pour toute équipe impliquée dans la migration de bases de données, en particulier d'Oracle vers des alternatives nationales, la compréhension de ce type de décalage sémantique est essentielle. L'approche recommandée consiste à valider les résultats de la migration avec des comparaisons de nombre de lignes et une analyse de plan, et pas seulement des tests fonctionnels.
Une analyse approfondie de la façon dont l'élimination des jointures externes lors de la migration d'Oracle vers KingbaseES peut entraîner une perte silencieuse de données, avec des stratégies de détection.