Ne pas utilisez quelque chose comme WHERE WEEK(column)=something
- c'est un tueur de performances :il calculera le numéro de la semaine sur toutes les lignes, même si elles ne correspondent pas. En plus de cela, il sera impossible d'utiliser un index sur cette colonne.
Calculez plutôt une date de début et de fin absolue ou un point dans le temps, selon votre type de données, puis utilisez BETWEEN
. Cela n'effectuera aucun calcul sur les lignes non correspondantes et permettra l'utilisation d'un index.
Règle de base :Si vous avez le choix entre un calcul sur une constante et sur un champ, utilisez le premier.