J'ai une base de données de 100 000 noms dans les cimetières. Les cimetières nombre autour de 6000 .... Je voudrais revenir le nombre de noms dans chaque cimetière ..Comment faire un nombre efficace de lignes d'une autre table (join)
Si je fais une requête individuelle, il faut une milliseconde
SELECT COUNT(*) FROM tblnames
WHERE tblcemetery_ID = 2
Ma requête réelle continue et et je finis par le tuer, donc je ne tue pas notre base de données. Quelqu'un peut-il me signaler une méthode plus efficace?
select tblcemetery.id,
(SELECT COUNT(*) FROM tblnames
WHERE tblcemetery_ID = tblcemetery.id) AS casualtyCount
from tblcemetery
ORDER BY
fldcemetery
Il est difficile de dire sans voir un expliquer, mais si je Je devais faire une supposition, je dirais pour m'assurer que les deux champs que vous utilisez pour rejoindre votre sous-requête sont indexés. – JNevill
Oui, désolé, dans chaque cimetière –