J'ai le scénario suivant:MySQL - SELECTS simultané - un client attend un autre?
J'ai une base de données avec une table MyISAM particulière d'environ 4 millions de lignes. J'utilise des procédures stockées (MySQL version 5.1) et une en particulier pour chercher dans ces lignes sur différents critères. Cette table a plusieurs index, et les requêtes à travers cette procédure stockée sont normalement très rapides (< 1s). Fondamentalement, j'utilise une instruction préparée et créer et exécuter du SQL dynamique dans cette recherche sp. Après l'exécution de l'instruction préparée, j'effectue "DEALLOCATE PREPARED stmt;"
La plupart des requêtes s'exécutent en moins d'une seconde (j'utilise LIMIT pour obtenir seulement 15 lignes à tout moment). Cependant, il y a quelques requêtes rares qui prennent plus de temps à s'exécuter (disons 2-3s). J'ai optimisé la table recherchée autant que possible.
J'ai développé une application web et je peux exécuter et voir les résultats des requêtes rapides en moins d'une seconde sur ma machine de développement. Cependant, si j'ouvre deux instances de navigateur et que je fais une recherche simultanée (par rapport à la machine de développement), l'une avec la requête la plus longue et l'autre avec la requête plus rapide, les résultats sont retournés en même temps. semble que la requête rapide attend la fin de la requête avant de renvoyer les résultats. c'est-à-dire que les deux requêtes prendront 2 à 3 secondes ...
Y a-t-il une raison à cela? Parce que je pensais que MyISAM gère SELECTS indépendamment les uns des autres et actuellement ce n'est pas le comportement que je vis ...
Merci d'avance! Tim
Pourrait être la raison! Je ne l'ai pas encore essayé depuis différentes machines, mais je présume que tu as raison! Merci! – TMM