Ich wurde im Interview gefragt, warum Daten für Merge und Merge Join Transformation sortiert werden müssen? Ich weiß, dass wir Merge und Merge Join ohne Sortierung verwenden können, indem wir die Daten an der Quelle sortieren und einige Eigenschaften festlegen. Aber noch müssen Daten sortiert werden, bitte sagen Sie mir, warum es obligatorisch ist?In SSIS, warum Eingabe für Merge/Merge Join muss sortiert werden?
Antwort
Es beschleunigt die Anpassung erheblich. Wenn Sie zwei Kartenstapel abbilden, die unvollständige Karten sind, und Sie die gemeinsamen Karten unter ihnen finden möchten.
Versuchen Sie zuerst, die Decks zu mischen, legen Sie sie nebeneinander, legen Sie sie nach oben. Sag auf der linken Seite, dass du die Pik-Zehn bekommst, und durchsuche nun das Deck auf der rechten Seite nach den Pik-Zehn. Da es nicht bestellt ist, musst du vielleicht jede Karte anschauen, um die Pik-Zehn am Ende des Decks zu finden.
Jetzt sortieren Sie diese Decks nach Anzug und Wert und versuchen Sie die gleiche Übung und Sie sollten jetzt verstehen, wie Sortierung hilft. Der Prozess der Sortierung benötigt Zeit und Ressourcen, aber viel weniger als sortierte Listen, und der Unterschied wächst exponentiell, wenn die Anzahl der Datensätze (Karten) auf Millionen steigt.
- 1. join Weglassen Zeilen ausgegeben, wenn die Eingabe numerisch sortiert
- 2. Die externe SSIS-Metadatenspalte muss entfernt werden
- 3. .Net Gridview Alpha-Sortierung, muss es numerisch sortiert werden
- 4. Warum werden meine Daten nicht korrekt sortiert?
- 5. Warum muss pageContext in JSP verwendet werden?
- 6. Warum werden Inner Join und Outer Join so genannt?
- 7. XML-Attribute werden sortiert
- 8. SSIS - Ersatzschlüssel für übergeordnete Suche
- 9. Warum muss zumero_sync mehrmals aufgerufen werden?
- 10. Input.checked erstellt dynamisches Element, das an Eingabe gebunden werden muss
- 11. Warum muss das Entfernungsbild maskiert werden?
- 12. Anwendung entsendet eine Eingabe-synchroner Aufruf - SSIS
- 13. Warum sortiert meine TreeMap nicht?
- 14. C - Warum muss NULL verglichen werden?
- 15. Warum muss keine Template-Klasse exportiert werden?
- 16. Warum muss clean() von java.util.TimerTask verwendet werden?
- 17. Kann ich "Größer als" in einem SSIS Merge Join verwenden?
- 18. Wo muss die Eingabe PHP $ _POST [] bereinigt werden?
- 19. Warum werden Python-Objekte unterschiedlicher Typen nach Typnamen sortiert?
- 20. Python 3 Join Daten von großen Dateien, die sortiert sind
- 21. Wie kann ich mit mySQL nach verschiedenen Tabellen sortiert werden?
- 22. Warum muss die Emulation in Echtzeit durchgeführt werden?
- 23. Warum muss eine Methode in einer C++ - Klassendefinition deklariert werden?
- 24. Wie werden Ziffern in einer Nummer sortiert?
- 25. Wo werden SSIS-Pakete gespeichert?
- 26. Warum jquery Event-Code muss immer in Funktion gewickelt werden?
- 27. Warum muss in dieser Funktion kein Parameter angegeben werden?
- 28. Warum muss die Methode acquire() in Semaphoren nicht synchronisiert werden?
- 29. Warum Swap in Datastax Cassandra deaktiviert werden muss?
- 30. Wie bekomme ich SQL-Abfrage mit Join und Verwendung von STUFF und FOR XML PATH korrekt sortiert werden
Der Merge-Join-Algorithmus erfordert, dass die Daten sortiert werden. Es ist eine Annahme, die der Algorithmus macht, und macht es zu einem sehr effizienten Algorithmus. Alternativ erfordert der Nested Loops Join-Algorithmus _nicht_, dass Daten sortiert werden müssen. Lesen Sie, wie Merge Join und Nested Loop-Algorithmen funktionieren und Sie vielleicht besser verstehen. Um es anders auszudrücken: Sie können einen Join mit Verschachtelungsschleife oder einen Merge-Join für sortierte Daten verwenden, aber ein Merge-Join wäre schneller. –