Pregunta

¿Hay alguna forma para dar prioridad o el acelerador una consulta en absoluto en MySQL?

yo soy un DBA en un servidor que ve una gran cantidad de consultas no optimizadas entre en el servidor y que acaba de destruir la CPU. Estoy mirando estrangulamiento ciertos usuarios que ha golpeado en la base de datos de mala manera.

Aclaración:

Me cuenta que MySQL tiene instalaciones construidas para limitar el número de consultas, conexiones, etc. Pero esas no son realmente el problema, es que una vez en una luna azul un usuario envía una petición sin optimizar, y que iba a necesitar en cuando hacia fuera o algo similar.

¿Fue útil?

Solución

http://dev.mysql.com/doc /refman/4.1/en/user-resources.html

A partir de MySQL 4.0.2, puede limitar el acceso a los siguientes recursos de servidor para cuentas individuales:

El número de consultas que una cuenta puede emitir por hora

El número de cambios que una cuenta puede emitir por hora

El número de veces que una cuenta puede conectar con el servidor por hora

Información Adicional -

MySQL no tiene un valor de tiempo de espera de consulta, o cualquier otra incorporado manera de estrangular a una consulta individual. Sin embargo, es bastante trivial para escribir un guión que matará a las consultas de larga ejecución. Incluso se puede capturar el usuario y consulta de modo que usted puede batir el usuario / programador ofender más tarde.

Aquí es un ejemplo de uno usando PERL.

Otros consejos

Yo sé que phpMyAdmin tiene un área de Número máximo de consultas por hora, Número máximo de actualizaciones por hora, Número máximo de conexiones por hora, y Número máximo de conexiones de usuario por usuario. Probablemente hay otros modos de establecer estos valores distintos de phpMyAdmin

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top