Vous ne montrez pas votre structure de clé, bien qu'elle montre que site_id
fait partie d'une clé en plusieurs parties (MUL
). notez que s'il ne s'agit pas du champ FIRST dans cette clé en plusieurs parties, la clé ne peut pas être utilisée pour cette clause where. par exemple si vous avez
KEY somekey (field1, site_id, field3, ...)
alors votre clause where doit inclure les DEUX field
et site_id
pour que cette clé soit utilisable dans la requête. Vous n'êtes pas obligé d'utiliser les champs dans le même ordre qu'ils sont répertoriés dans la clé (where site_id=.. and field1=...
fonctionnera de la même manière que where field1=... and site_id=...
), mais puisque field1 apparaît avant site_id dans la définition de la clé, vous devez également l'utiliser pour que la clé entière soit utilisable.
Il en va de même pour votre q
champ. Il doit également être le premier dans les clés couvertes, sinon ces clés sont inutilisables.