Analiza los pasos de ejecución que tienen lugar cuando se utiliza una cláusula LIMIT en una consulta SELECT.
STL_LIMIT es visible para todos los usuarios. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.
nota
STL_LIMIT solo contiene consultas que se ejecutan en los clústeres aprovisionados principales. No contiene consultas que se ejecutan en clústeres de escalado simultáneo ni en espacios de nombres sin servidor. Para acceder a los planes de explicación de consultas ejecutadas tanto en los clústeres principales como en los clústeres de escalado simultáneo y en los espacios de nombres sin servidor, le recomendamos que utilice la vista de supervisión de SYS SYS_QUERY_DETAIL. Los datos de la vista de monitoreo SYS están formateados para que sean más fáciles de usar y entender.
Columnas de la tabla
Nombre de la columna | Tipo de datos: | Descripción |
---|---|---|
userid | entero | ID del usuario que generó la entrada. |
consulta | entero | ID de la consulta. La columna de consulta puede usarse para combinar otras vistas y tablas del sistema. |
slice | entero | Es el número que identifica el sector donde se estaba ejecutando la consulta. |
segment | entero | Número que identifica el segmento de la consulta. |
paso | entero | Paso de la consulta que se ejecutó. |
starttime | marca de tiempo | Hora en UTC en que comenzó la consulta. El tiempo total incluye colas y ejecución. Con 6 dígitos de precisión para fracciones de segundo. Por ejemplo: 2009-06-12 11:29:19.131358 . |
endtime | marca de tiempo | Hora en UTC en la que finalizó la consulta. El tiempo total incluye colas y ejecución. Con 6 dígitos de precisión para fracciones de segundo. Por ejemplo: 2009-06-12 11:29:19.131358 . |
tasknum | entero | Es el número del proceso de tarea de la consulta que se asignó para ejecutar el paso. |
rows | bigint | Es la cantidad total de filas que se procesaron. |
checksum | bigint | Esta información es solo para uso interno. |
Consultas de ejemplo
Para generar una fila en STL_LIMIT, este ejemplo primero ejecuta la siguiente consulta en la tabla VENUE con la cláusula LIMIT.
select * from venue
order by 1
limit 10;
venueid | venuename | venuecity | venuestate | venueseats
---------+----------------------------+-----------------+------------+------------
1 | Toyota Park | Bridgeview | IL | 0
2 | Columbus Crew Stadium | Columbus | OH | 0
3 | RFK Stadium | Washington | DC | 0
4 | CommunityAmerica Ballpark | Kansas City | KS | 0
5 | Gillette Stadium | Foxborough | MA | 68756
6 | New York Giants Stadium | East Rutherford | NJ | 80242
7 | BMO Field | Toronto | ON | 0
8 | The Home Depot Center | Carson | CA | 0
9 | Dick's Sporting Goods Park | Commerce City | CO | 0
10 | Pizza Hut Park | Frisco | TX | 0
(10 rows)
Luego, ejecuta la siguiente consulta para encontrar el ID de consulta de la última consulta que se haya ejecutado en la tabla VENUE.
select max(query)
from stl_query;
max
--------
127128
(1 row)
Si lo desea, puede ejecutar la siguiente consulta para comprobar que el ID de consulta corresponde a la consulta LIMIT que ejecutó previamente.
select query, trim(querytxt)
from stl_query
where query=127128;
query | btrim
--------+------------------------------------------
127128 | select * from venue order by 1 limit 10;
(1 row)
Por último, ejecute la siguiente consulta para obtener información acerca de la consulta LIMIT de la tabla STL_LIMIT.
select slice, segment, step, starttime, endtime, tasknum
from stl_limit
where query=127128
order by starttime, endtime;
slice | segment | step | starttime | endtime | tasknum
-------+---------+------+----------------------------+----------------------------+---------
1 | 1 | 3 | 2013-09-06 22:56:43.608114 | 2013-09-06 22:56:43.609383 | 15
0 | 1 | 3 | 2013-09-06 22:56:43.608708 | 2013-09-06 22:56:43.609521 | 15
10000 | 2 | 2 | 2013-09-06 22:56:43.612506 | 2013-09-06 22:56:43.612668 | 0
(3 rows)