Question

Je me demandais si ce qui est plus rapide lorsque vous essayez, par exemple, de vérifier le nombre de messages contenus dans un fil de discussion donné sur un forum. Devrais-je ...

(a) Parcourez chaque publication de la base de données avec l’ID de thread en question et comptez le nombre de lignes

ou

(b) Ajoutez-en une à une colonne distincte de la base de données des threads chaque fois qu'un thread est créé, puis interrogez cette ligne unique

Merci.

Était-ce utile?

La solution

Qu'est-ce qui ne va pas avec un index pour l'ID de thread? Une simple expression COUNT groupée par le champ ID de thread ne suffirait-elle pas?

Avec tout cache, cela serait beaucoup plus rapide que ce que je peux dire.

--This will provide counts for all threads
SELECT COUNT(threadID)
FROM Posts
GROUP BY threadID;


--This will provide count for one thread
SELECT COUNT(threadID)
FROM Posts
WHERE threadID=123
GROUP BY threadID;

Autres conseils

L’optimisation prématurée est la racine de tout mal.

Utilisez la solution (a) pour commencer, puis, SI votre site en a besoin, passez à la solution (b).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top