Ce:Comment puis-je obtenir la longueur moyenne de la chaîne dans mysql?
SELECT AVG(LENGTH(string))
FROM BLAH
LIMIT 10;
... semble moudre à travers tous les résultats. Si je retire l'AVG, c'est beaucoup plus rapide. Est-il préférable de créer une sous-requête comme
SELECT AVG(len)
FROM (SELECT LENGTH(string) as len
FROM BLAH
LIMIT 10) as herp
Cela semble également lent. Je ne veux pas tout charger en boucle php avec strlen. J'espérais qu'il y avait une solution efficace en mémoire.
Quelle est la lenteur de la sous-requête? –
Pouvez-vous nous montrer comment vous vous limitez réellement aux derniers messages X d'un auteur, et pouvez-vous nous dire pourquoi vous détestez les sous-requêtes? – pilcrow
Je veux prendre une moyenne des 2 premières entrées de la liste [1,2,3,4]. Une sous-requête prend le sous-ensemble [1,2] puis utilise la fonction avg(). Il est préférable d'ajouter à un accumulateur puis de diviser, plutôt que d'avoir un ensemble de longueur arbitraire chargé en mémoire. Comme d'autres l'ont fait remarquer, c'est juste un ordre d'id desc, mais en réalité cette partie n'est pas si significative. – ForeverConfused