est ici la requête:Comment puis-je optimiser cette requête SQL pour se débarrasser de la table filesort et temp?
SELECT
count(id) AS count
FROM `numbers`
GROUP BY
MONTH(created_at),
YEAR(created_at)
ORDER BY
YEAR(created_at),
MONTH(created_at)
Cette requête lance une « aide temporaire » et « Utilisation filesort » en faisant EXPLIQUEZ.
En fin de compte ce que je fais est à la recherche d'une table de numéros de suivi soumis par l'utilisateur et en comptant le nombre de lignes soumises un regroupement des comptes par mois/année.
ie. En novembre 2008, il y avait 11 312 lignes soumises.
MISE À JOUR, voici la description du tableau numbers
.
id int(11) NO PRI NULL auto_increment
tracking varchar(255) YES NULL
service varchar(255) YES NULL
notes text YES NULL
user_id int(11) YES NULL
active tinyint(1) YES 1
deleted tinyint(1) YES 0
feed text YES NULL
status varchar(255) YES NULL
created_at datetime YES NULL
updated_at datetime YES NULL
scheduled_delivery date YES NULL
carrier_service varchar(255) YES NULL
Pourquoi voulez-vous vous en débarrasser? –
poster le 'DESCRIBE TABLE' pour' numbers' –
En fin de compte j'essaye de rendre la requête plus rapide. En ce moment, il interroge ~ 200 000 lignes et prend ~ 500ms. À mesure que le nombre de rangées augmente, cela prendra évidemment beaucoup plus de temps. – Shpigford