Si je comprends bien, un index sur une table de base de données typique fournira une recherche de ligne plus efficace. Est-ce qu'une structure similaire existe pour rendre les requêtes avec des fonctions agrégées plus efficaces?MySQL - Index pour accélérer les requêtes avec des fonctions d'agrégat
À titre d'exemple, disons que j'ai une table comme ci-dessous avec un grand nombre de lignes
Employees
employeeId | office | salary
SELECT office, MAX(salary)
FROM Employees
GROUP BY office
Je veux récupérer efficacement le salaire MAX()
pour les employés de chaque bureau. Dans ce cas, cela ne me dérange pas la surcharge supplémentaire d'insertion/mise à jour parce que je vais faire cette requête assez souvent et ne pas écrire à la table très souvent.
Mon moteur est MyISAM MySQL
Je ne vois aucun moyen de contourner ceci en dehors du suivi manuel du max ailleurs. – NullUserException
J'imagine que l'ajout d'un index sur 'salary' accélérerait la fonction d'agrégat' MAX (salary) '. N'est-ce pas? –
@rfausak: non, seul champ 'salaire' index ne aidera pas du tout – zerkms