Optimización de rendimiento SQL

Jefferson Elias

¿Cuáles son los interbloqueos de SQL Server y cómo ellos se pueden monitorear?

November 6, 2019 by

Introducción

Como administradores de bases de datos, frecuentemente me he enfrentado más que nada con problemas de rendimiento. A veces, el código mal escrito o la falta de índices generarán las condiciones de bloqueo a las que nos referimos como un “interbloqueo “. En razón a que debido a su naturaleza y al igual que cualquier situación de bloqueo similar, los interbloqueos pueden tener un impacto directo en la experiencia del usuario y cuanto más ocurran, mayor será efecto y consecuencia de dicho impacto.

Read more »
Gerald Britton

Las 10 preguntas y respuestas más importantes sobre los índices de SQL Server

October 14, 2019 by

Introducción

Sin lugar a dudas, pocas tecnologías en SQL Server provocan tanta confusión y difusión de información errónea como los mencionados índices. Este artículo analiza algunas de las preguntas más frecuentes y otras más que deberían formularse pero que a menudo no lo son. Utilizaremos SQL Server 2016 para los ejemplos y una herramienta gratuita, para el análisis del plan de ejecución de consultas de SQL Server, ApexSQL Plan, para explorar los efectos de los índices referidos a un problema comercial típico: una tabla de clientes.

Read more »
Ahmad Yaseen

Sugerencias de tabla de SQL Server – CON (NOLOCK) las mejores prácticas

September 30, 2019 by

Las sugerencias de la utilización de la tabla de SQL Server nos muestran que son un tipo especial de comando explícito que se utiliza fundamentalmente con el propósito de anular el comportamiento predeterminado del optimizador de consultas de SQL Server durante el proceso de la ejecución de consultas T-SQL. Esto se logra cuando se utiliza y se aplica un método de bloqueo específico, un índice específico o una operación de procesamiento de consultas, al efectuar dicha búsqueda de índice o exploración de tabla, para ello debe ser utilizada por el optimizador de consultas de SQL Server para construir el plan de ejecución de consultas. Es importante indicar que las sugerencias de tabla se pueden agregar a la cláusula FROM de la consulta T-SQL, afectando la tabla o la vista a la que se hace referencia en la cláusula FROM solamente.

Read more »
Ed Pollack

Técnicas de optimización de consultas en SQL Server: consejos y trucos de aplicación

September 30, 2019 by

Descripción

La solución y la reparación de consultas erróneas, así como la resolución de problemas de rendimiento pueden implicar horas (o días) de investigación y pruebas de errores. A veces podemos reducir rápidamente ese tiempo identificando patrones de diseño comunes que son indicativos de un TSQL de bajo rendimiento.

Read more »

Cómo identificar las consultas con ejecución lenta en SQL Server

September 30, 2019 by

Resumen

Las consultas con una ejecución lenta son uno de los problemas y preocupaciones más comunes en todas las organizaciones que manejan grandes volúmenes y cantidades de datos. Y el desafío de resolver este problema más difícil, en casi todos los clientes, con los que trabajo, es fundamental el encontrar el motivo por el cual las consultas se ejecutan lentamente y descubrir cuál es la causa real detrás del problema de rendimiento. Afortunadamente, la solución, en la mayoría de los casos, es simple.

Read more »
Marko Zivkovic

Almacén de consultas de SQL Server – Descripción general

July 4, 2019 by

El SQL Server Query Store es una nueva característica recién introducida en SQL Server 2016. En pocas palabras, es un “registrador de vuelo” o “caja negra” del SQL Server, que captura un historial de consultas ejecutadas además consulta las estadísticas de ejecución en tiempo de ejecución, planes de ejecución y base de datos específica. Esta información nos ayuda a identificar los problemas de rendimiento causados ​​por los cambios en el plan de consultas y la solución de problemas al encontrar rápidamente las diferencias de rendimiento, incluso después del reinicio o la actualización de SQL Server. Todos los datos que la captura de Almacén de consultas de SQL Server se almacena en el disco.

Read more »
Bojan Petrovic
Utilization of processor time alert details page

Herramienta de supervisión de SQL Server para el rendimiento de la CPU

May 24, 2019 by

Saturación del CPU ralentiza el servidor

Este artículo es otro capítulo de la serie sobre las herramientas de supervisión de SQL Server y de los problemas más comunes sobre el rendimiento. Antes de empezar leer este artículo, les recomiendo leer antes, los dos artículos anteriores sobre herramientas de monitoreo para el I/O del disco y del rendimiento de la memoria:

Read more »
Bojan Petrovic

Cómo poder recopilar información sobre el rendimiento y el sistema en SQL Server

May 21, 2019 by

En este artículo, vamos a ver muchas de las herramientas que podemos utilizar para monitorear SQL Server. SQL Server está repleto de muchos informes buenos que nos permiten a un DBA poder detectar rápidamente si existe algún cuello de botella en el rendimiento del SQL Server. Muchos de estos se encuentran en la parte superior de los DMV, pero nos brindan una forma visualmente interactiva de observar y trabajar con los datos. Vamos a empezar con los informes del panel de rendimiento de SQL Server.

Informes del tablero

Vamos al SQL Server Management Studio (SSMS) y lo primero es que te voy a llevar a través de los informes del panel de control listos para usar de todos los niveles. Puedes encontrarlos haciendo clic con el botón derecho en la instancia de SQL Server en el Explorador de objetos y, en el menú contextual, encontrará Informes > Informes estándar:

Read more »
Bojan Petrovic
Baseline adjustment options with thresholds configuration for Available megabytes of memory counter

Las herramientas de monitorización de SQL Server para el rendimiento de la memoria

May 12, 2019 by

La sobrecarga de la memoria vuelve lentas las consultas

Este artículo es parte de la serie sobre las herramientas de supervisión de SQL Server y los problemas comunes en el rendimiento. El primer artículo de herramientas de supervisión de disco I/O del rendimiento de SQL Server, es sobre cómo poder detectar y resolver un gran número entradas y salidas en los subsistemas del disco duro, al realizarse demasiado trabajo durante los tiempos de carga máxima o de mantenimiento.

Bojan Petrovic

Visión general y estrategias de índices SQL

May 10, 2019 by

Se emplea un índice SQL para poder recuperar datos de una base de datos de una manera más rápida. El indexar una tabla o la vista es sin lugar a dudas, una de las mejores opciones de poder mejorar el rendimiento de las consultas y aplicaciones.

Un índice SQL es una tabla de búsqueda rápida para poder encontrar los registros que los usuarios necesitan buscar con mayor frecuencia. Ya que un índice es pequeño, rápido y optimizado para búsquedas rápidas. Además, que son muy útiles para conectar las tablas relacionales y la búsqueda de tablas grandes.

Read more »
Bojan Petrovic

Mantenimiento de índices SQL

May 10, 2019 by

La responsabilidad más importante de un Administrador de bases de datos es el poder garantizar que las bases de datos trabajen de una forma óptima. La manera más eficiente de hacerlo es por medio de índices. Los índices en SQL son uno de los recursos más efectivos a la hora de obtener una ganancia en el rendimiento. Sin embargo, lo que sucede con los índices es que estos se deterioran con el tiempo.

Read more »
Milena Petrovic

Una guía de DBA para la solución de problemas de rendimiento de SQL Server – parte 2 – utilización de la supervisión

May 7, 2019 by

En el presente artículo, presentaremos las herramientas que son nativas de Windows y SQL Server que se utilizan con mayor frecuencia para resolver problemas de rendimiento de SQL Server. La selección de la mejor herramienta para la supervisión de rendimiento depende de los objetivos de supervisión y conocimientos del código, ya que dichas herramientas proporcionan diferente información y tienen una capacidad de análisis también diferente.

Read more »
Ben Richardson

¿Cuál es la diferencia entre Índices Agrupados y No Agrupados en SQL Server?

May 28, 2018 by

Los índices son usados para acelerar el proceso de consultas en SQL Server, resultando en alto desempeño. Son similares a índices de libros de texto. En los libros de texto, si usted necesita ir a un capítulo en particular, usted va al índice, encuentra el número de página del capítulo y va directamente a esa página. Sin índices, el proceso de encontrar su capítulo deseado habría sido muy lento.

Read more »
Nikola Dimitrijevic

Solucionando problemas del tipo de espera CXPACKET en SQL Server

April 20, 2018 by

El tipo de espera de SQL Server CXPACKET es una de las estadísticas de espera más malinterpretadas. El término CXPACKET viene de Class Exchange Packet y, en esencia, esto puede ser descrito como filas de datos intercambiadas entre dos hilos paralelos que son parte de un solo proceso. Un hilo es el “hilo productor” y el otro hilo es el “hilo consumidor”. Este tipo de espera está directamente relacionada al paralelismo y ocurre en SQL Server cuando este ejecuta una consulta usando un plan paralelo.

Read more »
Milena Petrovic

Planes de ejecución de consultas – Entendiendo y leyendo los planes

April 19, 2018 by

En las partes previas de esta serie, explicamos qué son los planes de ejecución de consultas de SQL Server, por qué deberían ser usados, y presentamos varios métodos para mostrarlos. En esta parte, explicaremos los símbolos usados, cómo leer los planes, y cómo usar estos planes en el análisis del desempeño y la resolución de problemas.

Read more »
Milena Petrovic

Mala indexación de base de datos – El asesino de las consultas SQL – recomendaciones

April 18, 2018 by

En el artículo anterior, se explicaron los índices agrupados, no agrupados y como crearlos. En este nuevo artículo, se explicará la manera en que una indexación deficiente puede terminar y a brindar recomendaciones generales para la indexación de tablas al igual que seleccionar las columnas correctas en donde crear los índices

Read more »
Nikola Dimitrijevic

Todo sobre el bloqueo (locking) en SQL Server

April 11, 2018 by

El bloqueo o locking en inglés, es esencial para el procesamiento exitoso de las transacciones que se realizan en SQL Server y fue diseñada para poder lograr que SQL Server funcione de forma ininterrumpida en un entorno con múltiples usuarios. El bloqueo llega a ser la forma en la que SQL Server llega a administrar la ejecución de sus transacciones. En su esencia, los bloqueos llegan a ser estructuras de memoria con propietarios, tipos y la con la función de los recursos que se deben proteger. El bloqueo como estructura de memoria contiene 96 bytes.

Read more »
Milena Petrovic

Una guía para Administradores de Bases de Datos para resolución de problemas de SQL Server – Parte 1 – Métricas de problemas y desempeño

April 4, 2018 by

Monitorear el desempeño de SQL Server es una tarea compleja, ya que el desempeño depende de muchos parámetros de hardware y software. Es recomendado monitorear estos parámetros proactivamente para prevenir cualquier degradación potencial del desempeño. De todos modos, este no siempre es el caso. Si la degradación de desempeño ocurre, el primer paso hacia la resolución es determinar el problema, encontrar la causa y resolver el problema. Los problemas severos de desempeño requieren acciones y resoluciones rápidas. Problemas menos severos pueden tener una solución diferida. En cualquier caso, los Administradores de Bases de Datos (DBAs) deberían tomar acciones para prevenir estas situaciones en el futuro.

Read more »
Derik Hammer

Medición del retraso de sincronización de los grupos de disponibilidad

June 6, 2017 by

Con todas las funciones de alta disponibilidad (HA) y de recuperación de desastres (DR), el administrador de la base de datos tiene que tomar en cuenta que información se puede perder y el tiempo de inactividad aceptable debe medirse en los peores escenarios. La pérdida de datos afecta a su capacidad para cumplir con los objetivos de punto de recuperación (RPO) y el tiempo de inactividad afecta a los objetivos de tiempo de recuperación (RTO). Al utilizar grupos de disponibilidad (AGs), su RTO y RPO dependen de la replicación de registros del log de transacciones entre al menos dos réplicas para ser extremadamente rápido. Mientras peor sea el rendimiento, mayor será la pérdida de datos potenciales que se produzcan y más tiempo puede tardar en reconectarse un fallo en la base de datos.

Read more »
Ahmad Yaseen

Planes de Ejecución de SQL Server Estimados Vs Reales

April 21, 2017 by

Un plan de ejecución SQL Server es el mapa más eficiente y menos costoso que es generado por los cálculos de los algoritmos de Query Optimizer para ejecutar la consulta T-SQL enviada. Los planes de ejecución son usados por los administradores de bases de datos para solucionar los problemas de consultas de desempeño pobre para aislar la parte de la consulta que es la raíz del problema de desempeño.

Read more »