Wir arbeiten mit einer Vertica 8.1-Tabelle mit 500 Spalten und 100 000 Zeilen.Beeinträchtigt die Anzahl der Spalten in einer Vertica-Tabelle die Abfrageleistung?
Die folgende Abfrage wird etwa 1,5 Sekunden in Anspruch nehmen, auch auszuführen, wenn die VSQL Client direkt auf einem des Vertica Clusterknoten mit (jedes Netzwerk-Latenz Problem zu beseitigen):
SELECT COUNT(*) FROM MY_TABLE WHERE COL_132 IS NOT NULL and COL_26 = 'anotherValue'
Aber bei der Überprüfung Die Tabelle query_requests, request_duration_ms, beträgt nur 98 ms, und die Tabelle resource_acquisitions zeigt keine Verzögerung bei der Ressourcenübernahme an. Ich kann nicht verstehen, wo der Rest der Zeit verbracht wird.
Wenn ich dann in eine neue Tabelle nur die von der Abfrage verwendeten Spalten exportieren und die Abfrage für diese neue, kleinere Tabelle ausführen, bekomme ich eine flammende schnelle Antwort, obwohl die Tabelle query_requests immer noch die request_duration_ms angibt etwa 98 ms.
So scheint es, dass die Anzahl der Spalten in der Tabelle die Ausführungszeit von Abfragen beeinflusst, auch wenn die meisten dieser Spalten nicht referenziert sind. Liege ich falsch ? Wenn ja, warum ist es so?
Dank durch Voraus
Wie ist Ihre 500-Spalten-Tabelle sortiert? Und was ist mit der 2-Säulen-Version? Kannst du bitte die Pläne erklären? – mauro