

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# STL\_SCAN
<a name="r_STL_SCAN"></a>

Analysiert Tabellen-Scan-Schritte für Abfragen. Die Schrittnummer für Zeilen in dieser Tabelle ist immer 0, da ein Scan der erste Schritt in einem Segment ist.

STL\_SCAN ist für alle Benutzer sichtbar. Superuser können alle Zeilen sehen; reguläre Benutzer können nur ihre eigenen Daten sehen. Weitere Informationen finden Sie unter [Sichtbarkeit der Daten in Systemtabellen und Ansichten](cm_chap_system-tables.md#c_visibility-of-data).

**Anmerkung**  
STL\_SCAN enthält nur Abfragen, die auf bereitgestellten Haupt-Clustern ausgeführt werden. Abfragen, die auf Parallelitätsskalierungs-Clustern oder in Serverless-Namespaces ausgeführt werden, sind nicht enthalten. Um auf Erklärpläne zuzugreifen, die sowohl auf Haupt-Clustern als auch auf Parallelitätsskalierungs-Clustern und in Serverless-Namespaces ausgeführt werden, empfehlen wir, die SYS-Überwachungsansicht [SYS\_QUERY\_DETAIL](SYS_QUERY_DETAIL.md) zu verwenden. Die Daten in der SYS-Überwachungsansicht sind so formatiert, dass sie leichter verwendbar und besser verständlich sind.

## Tabellenspalten
<a name="r_STL_SCAN-table-columns"></a>


| Spaltenname  | Datentyp  | Beschreibung  | 
| --- | --- | --- | 
| userid | integer | ID des Benutzers, der den Eintrag generiert hat. | 
| query | integer | Abfrage-ID. Die Abfrage-Spalte kann verwendet werden, um andere Systemtabellen und Anzeigen anzufügen. | 
| slice | integer | Die Nummer, die das Slice angibt, in dem die Abfrage ausgeführt wurde. | 
| segment | integer | Zahl, mit der das Abfrage-Segment identifiziert wird. | 
| Schritt | integer | Abfrageschritt, der ausgeführt wurde. | 
| starttime | Zeitstempel | Zeitpunkt des Beginns der Abfrage, nach UTC. Die Gesamtzeit umfasst die Zeit in der Warteschlange und Zeit für die Ausführung mit einer Genauigkeit von 6 Nachkommastellen für Sekundenbruchteile. Beispiel: 2009-06-12 11:29:19.131358. | 
| endtime | Zeitstempel | Zeitpunkt in UTC, an dem die Abfrage abgeschlossen wurde. Die Gesamtzeit umfasst die Zeit in der Warteschlange und Zeit für die Ausführung mit einer Genauigkeit von 6 Nachkommastellen für Sekundenbruchteile. Beispiel: 2009-06-12 11:29:19.131358. | 
| tasknum | Ganzzahl | Nummer des Abfrageaufgabenprozesses, der der Ausführung des Schritts zugeordnet wurde. | 
| rows | bigint | Gesamtzahl der Zeilen, die verarbeitet wurden. | 
| bytes | bigint | Größe, in Bytes, aller Ausgabezeilen für den Schritt. | 
| fetches | bigint | Diese Information ist nur für die interne Verwendung gedacht. | 
| type | integer | ID des Scan-Typs. Eine Liste der Werte finden Sie in der folgenden Tabelle. | 
| tbl | integer | Tabellen-ID. | 
| is\_rrscan | character(1) | „True“ (t) zeigt an, dass für diesen Schritt ein Scan mit Bereichseinschränkung durchgeführt wurde. | 
| is\_delayed\_scan | character(1) | Diese Information ist nur für die interne Verwendung gedacht. | 
| rows\_pre\_filter | bigint | Bei Scans permanenter Tabellen die Gesamtzahl der Zeilen, die nach der Filterung der zur Löschung markierten Zeilen ausgegeben wurden (Geisterzeilen), jedoch vor der Anwendung benutzerdefinierter Abfragefilter. | 
| rows\_pre\_user\_filter | bigint | Bei Scans permanenter Tabellen die Anzahl der Zeilen, die nach der Filterung der zur Löschung markierten Zeilen verarbeitet wurden (Geisterzeilen), jedoch vor der Anwendung benutzerdefinierter Abfragefilter. | 
| perm\_table\_name | character(136) | Bei Scans permanenter Tabellen der Name der gescannten Tabelle. | 
| is\_rlf\_scan | character(1) | „True“ (t) zeigt an, dass für diesen Schritt eine Filterung auf Zeilenebene durchgeführt wurde. | 
| is\_rlf\_scan\_reason | integer | Diese Information ist nur für die interne Verwendung gedacht. | 
| num\_em\_blocks | integer | Diese Information ist nur für die interne Verwendung gedacht. | 
| Prüfsumme | bigint | Diese Information ist nur für die interne Verwendung gedacht. | 
| runtime\_filtering | character(1) | Gibt bei true (t) an, dass Laufzeitfilter angewendet werden. | 
| scan\_region | Ganzzahl | Diese Information ist nur für die interne Verwendung gedacht. | 
| num\_sortkey\_as\_predicate | Ganzzahl | Diese Information ist nur für die interne Verwendung gedacht. | 
| row\_fetcher\_state | Ganzzahl | Diese Information ist nur für die interne Verwendung gedacht. | 
| consumed\_scan\_ranges | bigint | Diese Information ist nur für die interne Verwendung gedacht. | 
| work\_stealing\_reason | bigint | Diese Information ist nur für die interne Verwendung gedacht. | 
| is\_vectorized\_scan | character(1) | Diese Information ist nur für die interne Verwendung gedacht. | 
|  is\_vectorized\_scan\_reason | Ganzzahl | Diese Information ist nur für die interne Verwendung gedacht. | 
| row\_fetcher\_reason | bigint | Diese Information ist nur für die interne Verwendung gedacht. | 
| topology\_signature | bigint | Diese Information ist nur für die interne Verwendung gedacht. | 
| use\_tpm\_partition | character(1) | Diese Information ist nur für die interne Verwendung gedacht. | 
| is\_rrscan\_expr | character(1) | Diese Information ist nur für die interne Verwendung gedacht. | 
| scanned\_mega\_value | character(1) | Diese Information ist nur für die interne Verwendung gedacht. Diese Information zeigt an, ob der bestimmte Scanschritt einen großen Wert gescannt hat. Ein großer Wert wird in mehreren Blöcken gespeichert. Die Blockgröße beträgt standardmäßig 1 MB, ein großer Wert ist in einer Standardeinstellung größer als 1 MB. | 

## Scan-Typen
<a name="r_STL_SCAN-scan-types"></a>


| Typ-ID | Beschreibung | 
| --- | --- | 
| 1 | Daten aus dem Netzwerk. | 
| 2 | Permanente Benutzertabellen in komprimiertem gemeinsam genutztem Speicher. | 
| 3 | Temporäre zeilenweise Tabellen. | 
| 21 | Laden Sie Dateien von Amazon S3. | 
| 22 | Laden Sie Tabellen aus Amazon DynamoDB | 
| 23 | Daten von einer Remote-SSH-Verbindung laden. | 
| 24 | Daten von einem Remote-Cluster (sortierte Region) laden. Dies wird zur Größenanpassung verwendet. | 
| 25 | Daten von einem Remote-Cluster (nicht sortierte Region) laden. Dies wird zur Größenanpassung verwendet. | 
| 28 | Lesen von Daten aus einer Zeitreihenansicht mit UNION ALL auf mehreren Tabellen | 
| 29 |  Lesen von Daten aus externen Amazon-S3-Tabellen | 
| 30 | Lesen der Partitionsinformationen einer externen Amazon-S3-Tabelle | 
| 33 | Lesen von Daten aus einer Remote-Postgres-Tabelle | 
| 36 | Lesen von Daten aus einer Remote-MySQL-Tabelle | 
| 37 | Lesen von Daten aus einem Remote-Kinesis-Stream | 

## Nutzungshinweise
<a name="w2aac59c29b9d101c15"></a>

Idealerweise sollte `rows` relativ nahe bei `rows_pre_filter` liegen. Eine große Differenz zwischen `rows` und `rows_pre_filter` zeigt an, dass die Ausführungsengine Zeilen scannt, die später verworfen werden, was nicht effizient ist. Die Differenz zwischen `rows_pre_filter` und `rows_pre_user_filter` ist die Anzahl von Geisterzeilen in dem Scan. Führen Sie einen VACUUM-Vorgang durch, um die zum Löschen markierten Zeilen zu entfernen. Die Differenz zwischen `rows` und `rows_pre_user_filter` ist die Anzahl der Zeilen, die von der Abfrage gefiltert wurden. Wenn sehr viele Zeilen von dem Benutzerfilter verworfen werden, prüfen Sie Ihre Auswahl der Sortierspalte oder, wenn eine große nicht sortierte Region dafür verantwortlich ist, führen Sie eine Bereinigung durch.

## Beispielabfragen
<a name="r_STL_SCAN-sample-queries"></a>

Das folgende Beispiel zeigt, dass `rows_pre_filter` größer als `rows_pre_user_filter` ist, da die Tabelle gelöschte Zeilen enthält, die noch nicht bereinigt wurden (Geisterzeilen). 

```
SELECT query, slice, segment,step,rows, rows_pre_filter, rows_pre_user_filter 
from stl_scan where query = pg_last_query_id();

 query |  slice | segment | step | rows  | rows_pre_filter | rows_pre_user_filter
-------+--------+---------+------+-------+-----------------+----------------------
 42915 |      0 |       0 |    0 | 43159 |           86318 |                43159
 42915 |      0 |       1 |    0 |     1 |               0 |                    0
 42915 |      1 |       0 |    0 | 43091 |           86182 |                43091
 42915 |      1 |       1 |    0 |     1 |               0 |                    0
 42915 |      2 |       0 |    0 | 42778 |           85556 |                42778
 42915 |      2 |       1 |    0 |     1 |               0 |                    0
 42915 |      3 |       0 |    0 | 43428 |           86856 |                43428
 42915 |      3 |       1 |    0 |     1 |               0 |                    0
 42915 |  10000 |       2 |    0 |     4 |               0 |                    0
(9 rows)
```