2016-04-01 14 views
1

Ich versuche den Abfrageplan von MonetDB zu verstehen.Was bedeuten die Anweisungen in MonetDB Abfrageplan Erklärungen?

Gibt es irgendwo eine Dokumentation, wo ich finde, wofür jede Anweisung bleibt? Wenn nicht, kann mir jemand sagen, was

zurückkehrt
sql.projectdelta(X_15,X_23,X_25,r1_30,X_27) 

und

sql.subdelta(X_246,X_4,X_10,X_247,X_249), for example? 

In meiner Anfrage Ich bin das Ergebnis durch zwei Attribute Sortierung (zum Beispiel durch A, B). Können Sie mir sagen, warum die zweite Sorte mehr Parameter hat als die erste?

(X_29,r1_36,r2_36) := algebra.subsort(X_28,false,false); 
(X_33,r1_40,r2_40) := algebra.subsort(X_22,r1_36,r2_36,false,false);    

Ist algebra_sort return (oid, columnType) Paare oder nur oid?

Vielen Dank !!

Antwort

1

Die Erklärung der Ausgabe der EXPLAIN-SQL-Anweisung erfordert Kenntnisse der MonetDB Assembly-like Language (MAL).

Zu den Funktionen sql.projectdelta, sqludelta und algebra_sort finden Sie ihre Signatur und eine (kurze) Beschreibung im Ordner monetdb lib. Ex:

  • [MonetDB_install_folder] \ MonetDB5 \ lib \ monetdb5 \ sql.mal für alle SQL-Funktionen
  • [MonetDB_install_folder] \ MonetDB5 \ lib \ monetdb5 \ algebra.mal für alle Algebra Funktionen

die unterschiedliche Anzahl von Parametern für algebra.subsort betreffs:

  • (X_29, r1_36, r2_36): = algebra.subsort (X_28, false, false); wird wie folgt beschrieben:

    eine Kopie der auf tail Werte sortiert BAT Kosten, eine BAT, die , wie die Eingabe spezifiziert wurde neu geordnet und eine BAT mit Gruppeninformationen. Der Ein- und Ausgang ist dicht (muss sein). Die Reihenfolge ist absteigend, wenn das umgekehrte Bit gesetzt ist. Dies ist eine stabile Sortierung, wenn das stabile Bit gesetzt ist.

  • (X_33, r1_40, r2_40): = algebra.subsort (X_22, r1_36, r2_36, false, false); wird wie folgt beschrieben:

    eine Kopie der auf tail Werte sortiert BAT Kosten, eine BAT, die , wie die Eingabe spezifiziert wurde neu geordnet und eine BAT mit Gruppeninformationen. Der Ein- und Ausgang ist dicht (muss sein). Die Reihenfolge ist absteigend, wenn das umgekehrte Bit gesetzt ist. Dies ist eine stabile Sortierung, wenn das stabile Bit gesetzt ist.

MAL Funktionen können bassed auf ihrem Rückgabewert überlastet werden. algebra_sort kann 1, 2 oder 3 Werte zurückgeben, je nachdem, was du verlangst. Checl algebra.mal für die verschiedenen Möglichkeiten.

+1

Vielen Dank. Das Überprüfen dieser Dateien hilft. Einige Dokumentation (wie die von PostgreSQL zum Beispiel) wäre aber toll. – user296733