2010-03-09 31 views
7

Tengo una gran cantidad de lecturas y escrituras de fondo, y una cantidad mucho más pequeña de lecturas de usuario, de una base de datos MySQL altamente contenida - ¿hay alguna forma de marcar ciertas consultas (las consultas del usuario) como de alta prioridad para que tomen preferencia sobre consultas de fondo? Quiero que la capacidad de respuesta del usuario sea alta, pero realmente no me importan las consultas en segundo plano.¿Cómo priorizar ciertas consultas en MySQL?

Gracias

+0

¿Qué motor de almacenamiento está utilizando? InnoDB? MyISAM? –

+0

InnoDB, pero podría cambiar si hay una buena razón. – MalcomTucker

Respuesta

5

MySQL soporta insert delayed de retraso insert s y low_priority para update s. Y para su usuario lee, existe la extensión high_priority en select. Si está utilizando el motor de almacenamiento MyISAM, está la función relacionada (pero diferente) concurrent inserts.

+0

Por otro lado, 'SELECT' admite la palabra clave' HIGH_PRIORITY', que da a seleccionar la misma prioridad que una actualización. –

+0

@Romuald: Aparentemente estaba editando mi respuesta como usted comentó. :-) –

+0

¿Estoy en lo cierto al pensar que si no hay selecciones de alta prioridad, todas las inserciones y actualizaciones de baja prioridad funcionarían con la prioridad normal? – MalcomTucker

Cuestiones relacionadas