2010-03-09 8 views
7

J'ai un grand nombre de lectures et d'écritures en arrière-plan, et un nombre beaucoup plus faible de lectures d'une base de données MySQL très disputée - est-il possible d'identifier certaines requêtes (les requêtes utilisateur) comme prioritaires? préférence sur les requêtes de fond? Je veux que la réactivité de l'utilisateur soit élevée, mais ne me soucie pas vraiment des requêtes en arrière-plan.Comment hiérarchiser certaines requêtes dans MySQL?

Merci

+0

Quel moteur de stockage utilisez-vous? InnoDB? MyISAM? –

+0

InnoDB mais je pourrais passer s'il y a une bonne raison .. – MalcomTucker

Répondre

5

MySql soutient insert delayed pour retard insert s et low_priority pour update s. Et pour votre utilisateur lit, il y a l'extension high_priority sur select. Si vous utilisez le moteur de stockage MyISAM, il existe la fonctionnalité concurrent inserts associée (mais différente).

+0

D'autre part, 'SELECT' supporte le mot-clé' HIGH_PRIORITY', qui donne la même priorité à une mise à jour. –

+0

@Romuald: Apparemment, je modifiais ma réponse comme vous l'avez commenté. :-) –

+0

Ai-je raison de penser que s'il n'y a pas de priorité haute, toutes les insertions et mises à jour de priorité basse fonctionneraient à la priorité normale? – MalcomTucker