EXPLAIN (Obtener información acerca de un SELECT)SELECTWHERE por parte de MySQLIS NULLDISTINCTLEFT JOIN y RIGHT JOINORDER BYGROUP BYLIMITINSERTUPDATEDELETEAnte todo, un factor afecta a todas las sentencias: cuanto más compleja es la configuración de los permisos, mayor es la carga.
Usar permisos simples cuando se ejecuta una sentencia GRANT
permite a MySQL reducir la carga en la verificación de permisos
cuando los clientes ejecutan sentencias. Por ejemplo, si no se concede (grant)
ningún privilegio a nivel de tabla o de columna, el servidor no necesita
verificar nunca el contenido de las tablas tables_priv y
columns_priv. Similarmente, si no se establece
límites de recursos sobre ninguna cuenta, el servidor no tiene que
realizar conteos de recursos. Cuando se tiene un alto volumen de consultas,
puede valer la pena utilizar una estructura de permisos simplificada
para reducir la carga de verificación de los mismos.
Si el problema es con una expresión o función específica de MySQL,
se puede utilizar la función BENCHMARK() en el cliente
mysql para realizar una prueba de velocidad.
Su sintaxis es
BENCHMARK(.
El valor devuelto siempre es cero, pero mysql muestra
cuánto tardó en ejecutarse la sentencia.
Por ejemplo:
número_iteraciones,expresion)
mysql> SELECT BENCHMARK(1000000,1+1); +------------------------+ | BENCHMARK(1000000,1+1) | +------------------------+ | 0 | +------------------------+ 1 row in set (0.32 sec)
Este resultado se obtuvo en un sistema Pentium II 400MHz. Muestra que MySQL puede ejecutar 1,000,000 de expresiones simples de suma en 0.32 segundo sobre ese sistema.
Todas las funciones de MySQL deberían estar altamente optimizadas, pero pueden
existir algunas excepciones. BENCHMARK() es una excelente
herramienta para determinar si alguna función es un problema en una consulta.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.
