Bonjour,
J'ai une requête qui marchait bien tant qu'il n'y avait pas beaucoup de lignes dans ma base de données, mais avec 150 000 lignes dans la table users et 18 000 dans la table users_oauth, ma requête prend maintenant plus de 3 minutes à s'exécuter.
Au niveau du site, j'ai un champs de recherche qui permet de chercher dans plusieurs champs de la table users, par exemple, ma requête peut ressembler à ceci si on recherche gmail:
J'ai bien mis un index pour les champs user_email et user_date_accountcreated. En enlevant la partie firstname et lastname, la requête est toujours aussi lente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT users.*, users_oauth.* FROM users LEFT JOIN users_oauth ON users.user_id = users_oauth.oauth_user_id WHERE users.user_id LIKE '%gmail%' OR users.user_firstname LIKE '%gmail%' OR users.user_lastname LIKE '%gmail%' OR users.user_email LIKE '%gmail%' ORDER BY user_date_accountcreated DESC LIMIT 0,50
Elle est toujours aussi lente en enlevant le recherche sur firstname et lastname.
Est-ce qu'un interclassement utf8_swedish_ci peut affecter la vitesse d’exécution de mysql ?
Merci,
Vincent.
Partager