

# Análisis de consultas con la pestaña Top SQL en Información de rendimiento
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics"></a>

En el panel de Performance Insights de Amazon RDS, puede encontrar información sobre las consultas recientes y en ejecución en la pestaña **Top SQL (SQL principal)** en la tabla **Top dimensions (Dimensiones principales)**. Puede utilizar esta información para ajustar sus consultas.

**Topics**
+ [Información general sobre la pestaña Top SQL (SQL principal)](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL)
+ [Acceso a más texto SQL en el panel de Performance Insights](USER_PerfInsights.UsingDashboard.SQLTextSize.md)
+ [Visualización de estadísticas de SQL en el panel de Performance Insights](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel.md)

## Información general sobre la pestaña Top SQL (SQL principal)
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL"></a>

De forma predeterminada, la pestaña **Top SQL** (SQL principal) muestra las 25 consultas que contribuyen a la carga de base de datos. Para ayudar a ajustar las consultas, puede analizar información como el texto de la consulta y las estadísticas de SQL. También puede elegir las estadísticas que quiere que aparezcan en la pestaña **Top SQL (SQL principal)**.

**Topics**
+ [Texto SQL](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text)
+ [Estadísticas de SQL](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics)
+ [Load by waits (AAS) (Carga por esperas [AAS])](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits)
+ [Ver información de SQL](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information)
+ [Escoger preferencias de estadísticas](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences)

### Texto SQL
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text"></a>

De forma predeterminada, cada fila de la tabla **Top SQL** (SQL principal) muestra 500 bytes de texto de ara cada instrucción. 

![\[Texto SQL\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/sql-text-oracle.png)


Para obtener información sobre cómo ver más de los 500 bytes predeterminados de texto SQL, consulte [Acceso a más texto SQL en el panel de Performance Insights](USER_PerfInsights.UsingDashboard.SQLTextSize.md).

Un *resumen de SQL* es un compuesto de múltiples consultas reales que son similares en estructura, pero que pueden tener diferentes valores literales. El resumen reemplaza los valores codificados por un signo de interrogación. Por ejemplo, un resumen podría ser `SELECT * FROM emp WHERE lname= ?`. Este resumen podría incluir las siguientes consultas secundarias:

```
SELECT * FROM emp WHERE lname = 'Sanchez'
SELECT * FROM emp WHERE lname = 'Olagappan'
SELECT * FROM emp WHERE lname = 'Wu'
```

Para ver las instrucciones SQL literales de un resumen, seleccione la consulta y, a continuación, elija el símbolo más (\$1). En el siguiente ejemplo, la consulta seleccionada es un resumen.

![\[Resumen de SQL seleccionado\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_4b.png)


**nota**  
Un resumen de SQL agrupa instrucciones SQL similares, pero no redacta información confidencial.

Performance Insights puede mostrar el texto de Oracle SQL como **Unknown (Desconocido)**. El texto tiene este estado en las siguientes situaciones:
+ Un usuario de base de datos de Oracle distinto de `SYS` está activo pero no ejecuta SQL actualmente. Por ejemplo, cuando se completa una consulta paralela, el coordinador de consultas espera a que los procesos auxiliares envíen sus estadísticas de sesión. Durante la espera, el texto de la consulta muestra **Unknown (Desconocido)**.
+ Para una instancia de RDS para Oracle en Standard Edition 2, el Administrador de recursos de Oracle limita el número de subprocesos paralelos. El proceso en segundo plano que realiza este trabajo hace que el texto de la consulta se muestre como **Unknown (Desconocido)**.

### Estadísticas de SQL
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics"></a>

Las *estadísticas de SQL* son métricas relacionadas con el rendimiento de las consultas SQL. Por ejemplo, Performance Insights podría mostrar ejecuciones por segundo o filas procesadas por segundo. Performance Insights recopila estadísticas solo para las consultas más comunes. Normalmente, coinciden con las consultas principales por carga mostradas en el panel de Performance Insights. 

Todas las líneas de la tabla **Top SQL (SQL principal)** muestra estadísticas relevantes de la instrucción o resumen de SQL, como se muestra en el ejemplo siguiente.

![\[SQL principal\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_4.png)


Performance Insights puede informar `0.00` y `-` (desconocido) para las estadísticas de SQL. Esta situación se produce en las siguientes condiciones:
+ Solo existe una muestra. Por ejemplo, Performance Insights calcula las tasas de cambio para las consultas de RDS PostgreSQL basadas en varios ejemplos de la vista `pg_stat_statements`. Cuando una carga de trabajo se ejecuta durante un breve período de tiempo, es posible que Performance Insights solo recopile una muestra, lo que significa que no puede calcular una tasa de cambio. El valor desconocido se representa con un guion (`-`).
+ Dos muestras tienen los mismos valores. Performance Insights no puede calcular una tasa de cambio porque no se ha producido ningún cambio, por lo que informa la tasa como `0.00`.
+ Una instrucción de RDS PostgreSQL carece de identificador válido. PostgreSQL crea un identificador para una instrucción solo después de analizar. Por lo tanto, puede existir una instrucción en las estructuras internas en memoria de PostgreSQL sin identificador. Dado que Performance Insights realiza muestras de estructuras internas en memoria una vez por segundo, pueden aparecer consultas de baja latencia para una sola muestra. Si el identificador de consulta no está disponible para esta muestra, Performance Insights no puede asociar esta instrucción a sus estadísticas. El valor desconocido se representa con un guion (`-`).

Para obtener una descripción de las estadísticas de SQL de los motores de Amazon RDS, consulte [Estadísticas de SQL para Performance Insights](sql-statistics.md).

### Load by waits (AAS) (Carga por esperas [AAS])
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits"></a>

En **Top SQL** (SQL principal), la columna **Load by waits (AAS)** (Carga por espera [AAS]) ilustra el porcentaje de carga de la base de datos asociada con cada elemento de carga principal. Esta columna refleja la carga de ese elemento por cualquier agrupación que se haya seleccionado actualmente en el **gráfico de carga de base de datos**. Para obtener más información acerca de las sesiones activas de Average (AAS), consulte [Sesiones activas promedio](USER_PerfInsights.Overview.ActiveSessions.md#USER_PerfInsights.Overview.ActiveSessions.AAS).

Por ejemplo, es posible que pueda agrupar el gráfico **DB load** (Carga de base de datos) por estados de espera. Puede examinar consultas SQL en la tabla de elementos de carga principal. En este caso, la barra **DB Load by Waits (Carga de base de datos por esperas)** estaría dimensionada, segmentada y dividida por colores para mostrar en qué proporción contribuye esa consulta a un estado de espera. También muestra qué estados de espera afectan a la consulta seleccionada.

![\[Carga de base de datos por esperas\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_6.png)


### Ver información de SQL
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information"></a>

En la tabla **Top SQL** (SQL principal), puede abrir una instrucción para consultar su información. La información aparece en el panel inferior.

![\[Tabla SQL principal con consulta literal seleccionada\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-open.png)


Los siguientes tipos de identificadores (ID) asociados con instrucciones SQL:
+ **Support SQL ID (Compatibilidad con ID SQL)**: un valor hash del ID de SQL. Este valor sirve solo para hacer referencia a un ID de SQL al trabajar con AWS Support. AWS Support no tiene acceso a sus ID de SQL y texto SQL reales.
+ **Support Digest ID (Compatibilidad con ID de resumen)**: un valor hash del ID de resumen. Este valor sirve solo para hacer referencia a un ID de resumen al trabajar con AWS Support. AWS Support no tiene acceso a sus ID de resumen y texto SQL reales.

### Escoger preferencias de estadísticas
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences"></a>

Para controlar las estadísticas mostradas en la pestaña **Top SQL** (SQL principal), puede elegir el icono **Preferences (Preferencias)**.

![\[Preferencias de estadísticas\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences-icon.png)


Al seleccionar el icono **Preferences (Preferencias)**, se abrirá la ventana **Preferences (Preferencias)**. La siguiente captura de pantalla es un ejemplo de la ventana **Preferences** (Preferencias).

![\[Ventana Preferencias\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences.png)


Para habilitar las estadísticas que desea que estén visibles en la pestaña **Top SQL (SQL principal)**, utilice el ratón para desplazarse hasta la parte inferior de la ventana y, a continuación, elija **Continue (Continuar)**. 

Para obtener más información sobre las estadísticas por segundo o por llamada de los motores Amazon RDS, consulte la sección de estadísticas SQL específicas del motor en [Estadísticas de SQL para Performance Insights](sql-statistics.md).

# Acceso a más texto SQL en el panel de Performance Insights
<a name="USER_PerfInsights.UsingDashboard.SQLTextSize"></a>

De forma predeterminada, cada fila de la tabla **Top SQL (SQL principal)** muestra 500 bytes de texto SQL para cada instrucción SQL.

![\[500 bytes de SQL\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf-insights-top-sql-bytes.png)


Cuando una instrucción SQL supera los 500 bytes, puede ver más texto en la sección **SQL text (Texto SQL)**, bajo la tabla **Top SQL (SQL principal)**. En este caso, la longitud máxima del texto que se muestra **SQL text (Texto SQL)** es de 4 KB. Este límite lo introduce la consola y está sujeto a los límites establecidos por el motor de base de datos. Para guardar el texto que se muestra en **SQL text (Texto SQL)**, elija **Download (Descargar)**.

**Topics**
+ [Límites de tamaño del texto para los motores de Amazon RDS](#sql-text-engine-limits)
+ [Ajuste del limite de texto SQL para las instancias de base de datos de Amazon RDS for PostgreSQL](USER_PerfInsights.UsingDashboard.SQLTextLimit.md)
+ [Ver y descargar texto SQL en el panel de Performance Insights](view-download-text.md)

## Límites de tamaño del texto para los motores de Amazon RDS
<a name="sql-text-engine-limits"></a>

Cuando se descarga un texto SQL, el motor de la base de datos determina su longitud máxima. Puede descargar texto SQL hasta los siguientes límites por motor:


| Motor de base de datos | Longitud máxima del texto descargado | 
| --- | --- | 
| Amazon RDS para MySQL y MariaDB | La longitud se fija en 4096 bytes cuando se habilita Performance Schema. Si Performance Schema no está habilitado, la longitud se fija en 65 535 bytes. | 
| Amazon RDS for Microsoft SQL Server | 4,096 caracteres | 
| Amazon RDS para Oracle | 1000 bytes | 

En la sección **SQL text (Texto SQL)** de la consola de Performance Insights, se muestra el máximo que devuelve el motor. Por ejemplo, si MySQL devuelve como máximo 1 kB a Performance Insights, solo puede recopilar y mostrar 1 kB, incluso si la consulta original es de mayor longitud. Así, cuando se visualiza la consulta en **SQL text (Texto SQL)** o se descarga, Performance Insights devuelve el mismo número de bytes.

Si utiliza la AWS CLI o la API, Información de rendimiento no tiene el límite de 4 KB aplicado por la consola. `DescribeDimensionKeys` y `GetResourceMetrics` devuelven como máximo 500 bytes. 

**nota**  
`GetDimensionKeyDetails` devuelve la consulta completa, pero el tamaño está sujeto al límite del motor.

# Ajuste del limite de texto SQL para las instancias de base de datos de Amazon RDS for PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.SQLTextLimit"></a>

Amazon RDS for PostgreSQL maneja el texto de manera diferente. Puede establecer el límite de tamaño del texto con el parámetro de instancia de base de datos `track_activity_query_size`. Este parámetro incluye las siguientes características:

Tamaño de texto predeterminado  
En la versión 9.6 de Amazon RDS for PostgreSQL, la configuración predeterminada del parámetro `track_activity_query_size` es de 1024 bytes. En la versión 10 o superior de Amazon RDS for PostgreSQL, la configuración predeterminada del parámetro es de 4096 bytes.

Tamaño máximo del texto  
El límite de `track_activity_query_size` para la versión 12 o inferior de Amazon RDS for PostgreSQL es de 102 400 bytes. El máximo es de 1 MB para la versión 13 y superior.   
Si el motor devuelve 1 MB a Performance Insights, la consola muestra solo los primeros 4 kB. Si descarga la consulta, obtendrá 1 MB completo. En este caso, la visualización y la descarga devuelven diferentes cantidades de bytes. Para obtener más información sobre el parámetro de instancia de base de datos `track_activity_query_size`, consulte [Run-time Statistics (Estadísticas de tiempo de ejecución)](https://www.postgresql.org/docs/current/runtime-config-statistics.html) en la documentación de PostgreSQL.

Para aumentar el tamaño del texto SQL, aumente el límite de `track_activity_query_size`. Para modificar el parámetro, cambie el ajuste en el grupo de parámetros asociado a la instancia de base de datos de Amazon RDS for PostgreSQL.

**Para cambiar la configuración cuando la instancia utiliza el grupo de parámetros predeterminado**

1. Cree un nuevo grupo de parámetros de instancia de base de datos para el motor de base de datos y la versión del motor de base de datos adecuados.

1. Establezca el parámetro en el nuevo grupo de parámetros.

1. Asocie el nuevo grupo de parámetros a la instancia de base de datos.

Para obtener más información sobre configurar un parámetro de instancia de base de datos, consulte [Modificación de los parámetros de un grupo de parámetros de base de datos en Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

# Ver y descargar texto SQL en el panel de Performance Insights
<a name="view-download-text"></a>

Puede ver o descargar texto SQL en el panel de Performance Insights.

**Para ver más texto SQL en el panel de Performance Insights**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Performance Insights**.

1. Elija una instancia de base de datos.

1. Baje hasta la pestaña **Top SQL** en el panel de Información de rendimiento.

1. Elija el signo más para expandir un resumen de SQL y elija una de las consultas secundarias del resumen.

   Las instrucciones SQL con texto superior a 500 bytes son similares a las que se indican en la siguiente imagen.  
![\[Instrucciones SQL con texto grande\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf-insights-large-text-1.png)

1. Desplácese hasta la pestaña **SQL text** (Texto SQL).  
![\[La sección de información SQL muestra más texto SQL\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf-insights-large-text-2.png)

   El panel de Performance Insights puede mostrar hasta 4096 bytes por cada instrucción SQL.

1. (Opcional) Elija **Copiar** para copiar la instrucción SQL mostrada o elija **Descargar** para descargar la instrucción SQL para consultar el texto SQL hasta el límite del motor de base de datos.
**nota**  
Para copiar o descargar la instrucción SQL, deshabilite los bloqueadores de pantallas emergentes. 

# Visualización de estadísticas de SQL en el panel de Performance Insights
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel"></a>

En el panel de Performance Insights, las estadísticas de SQL están disponibles en la pestaña **Top SQL (SQL principal)** del gráfico **Database load (Carga de base de datos)**.

**Para ver las estadísticas de SQL**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación de la izquierda, seleccione **Performance Insights**.

1. En la parte superior de la página, elija la base de datos cuyas estadísticas de SQL desea ver.

1. Desplácese a la parte inferior de la página y seleccione **Top SQL (SQL principal)**.

1. Elija una instrucción individual o consulte el resumen.  
![\[Ver métricas de consultas en ejecución\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_sql.png)

1. Seleccione qué estadísticas mostrar seleccionando el icono de engranaje de la esquina superior derecha del gráfico. Para obtener descripciones de las estadísticas de SQL de los motores de Amazon RDS, consulte [Estadísticas de SQL para Performance Insights](sql-statistics.md).

   El siguiente ejemplo muestra las preferencias para las instancias de base de datos de Oracle.  
![\[Preferencias de métricas para las consultas en ejecución para las instancias de base de datos de Oracle.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_pref_oracle.png)

   El siguiente ejemplo muestra las preferencias para las instancias de base de datos de MariaDB y MySQL.  
![\[Preferencias de métricas para consultas en ejecución para instancias de base de datos de MariaDB y MySQL.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_pref_ams.png)

1. Elija Save (Guardar) para guardar las preferencias.

   Se actualiza la tabla **Top SQL (SQL principal)**.

   En el siguiente ejemplo se muestran las estadísticas de una consulta SQL de Oracle.  
![\[Estadísticas de una consulta SQL\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_stats_oracle.png)