Alexander Anokhin weist in seinem Blog auf einen interessanten (und potentiell problematischen) Aspekt beim MERGE-Statement hin: die in der USING clause aufgeführten Spalten werden komplett in die workarea eingeführt, obwohl sie im Fall eines MERGEs ohne INSERT-Zweig unter Umständen nicht relevant sind - dann nämlich, wenn sie weder im ON, noch in der UPDATE-Spaltenliste erscheinen. Bei Verwendung von SELECT * kann dieses Verhalten zu einer extremen Vergrößerung des erforderlichen Speicherplatzes für die HASH Operation führen. Sichtbar wird das Problem, wenn man sich die column projection Angaben ansieht; und vermeidbar ist es durch eine Beschränkung der im USING aufgeführten Spalten auf die tatsächlich relevanten Informationen.
Keine Kommentare:
Kommentar veröffentlichen