comme toujours , sans group by et sans sommation, nous pouvons ignorer les colonnes du select.
Ensuite, le join relie 2 colonnes qui doivent être des index. Souvent, l'une est déjà un index Primary et l'autre a été oublié
Enfin, il y a une condition sur v.ip et une autre sur sur c.visitor_id qui doivent être des index.
Mysql accepte les index doublons mais ca n'arrange pas les performances. Vérifiez donc que certains index n'existent pas déjà.
Tous les ajouts peuvent être effectués assez convivialement dans phpmyadmin, table, structure ...