2009-10-12 18 views
7

En la búsqueda interminable de rendimiento (y mi propia experiencia contundente), aprendí algunas cosas que podrían reducir el rendimiento de una instrucción SQL.¿Qué herramientas están disponibles para probar el rendimiento de las sentencias de SQL?

Trastorno Obsesivo Compulsivo subconsultas
Hacer conversiones de tipos de locos (y anidan los en el olvido)
Agrupar por en funciones de agregado de dicho tipo loco conversiones
Dónde fldID en (seleccione todo lo de mi tabla de registro de 5mil)

Normalmente trabajo con MSSQL. ¿Qué herramientas están disponibles para probar el rendimiento de una declaración SQL? ¿Estas herramientas están integradas y son específicas para cada tipo de servidor de bases de datos? ¿O hay herramientas generales disponibles?

+0

¿Estás aporreando cosas para la experiencia? ¿O es tu experiencia * floreciente *? +1 para el aswer de Mitch. – DaveE

Respuesta

9

de SQL (incorporado): Monitoring with SQL Profiler

SQL Benchmark Pro (Comercial)

SQL Server 2008 tiene el nuevo Data Collector

SQL Server 2005 (en adelante) tiene una vista de administración dinámica (DMV) que falta, que puede ser muy útil (pero solo para los planes de consulta actualmente en la caché del plan): About the Missing Indexes Feature.

También está el SQL Server Database Engine Tuning Advisor, que hace un trabajo razonable (sólo no poner en práctica todo lo que sugiere!)

+0

Gracias, eso más o menos me ayuda a comenzar. Esto cubre el ángulo MSSQL, ¿hay herramientas generales disponibles para MySQL u Oracle? ¿O tendrían esos sus propias herramientas? – MoSlo

3

que en su mayoría sólo tiene que utilizar Profiler y el plan de ejecución espectador

+0

Casi todo lo que necesita, alguna vez, para consultas individuales – gbn

0

MSSQL tiene un asesor de ajuste base de datos que suelen recomendar los índices para las tablas basadas en consultas comunes ejecutadas durante el período de sintonización, sin embargo, no reescribió una consulta para usted.

En mi opinión, la experiencia y la experimentación son las mejores herramientas para escribir buenas consultas SQL.

0

En mysql (puede estar en otras bases de datos también) puede EXPLAIN su consulta para ver qué servidor de base de datos piensa al respecto. Esto generalmente se usa para decidir qué índices se deben crear. Y este es un built-in, por lo que puede usarlo sin instalar software adicional.

0

Adam Machanic tiene una herramienta simple llamada SqlQueryStress que puede ser de utilidad. Está diseñado para ser utilizado para "ejecutar una prueba de rendimiento rápido contra una sola consulta, con el fin de probar ideas o validar los cambios".

+0

La herramienta de Adam es realmente genial. Lo he usado y me pareció muy útil para ajustar mi DB. –

1

Execution Plans son una de las primeras cosas a tener en cuenta al depurar problemas de rendimiento de consultas. Un plan de ejecución le indicará cuánto tiempo se gasta aproximadamente en cada parte de su consulta, y puede usarse para identificar rápidamente si le faltan índices o si tiene uniones o bucles costosos.

Cuestiones relacionadas