Non mostri la struttura della tua chiave, anche se mostra quel site_id
fa parte di una chiave multiparte (MUL
). nota che se non è il PRIMO campo in quella chiave multiparte, la chiave non può essere utilizzata per quella clausola where. ad esempio se hai
KEY somekey (field1, site_id, field3, ...)
quindi la tua clausola where deve includere ENTRAMBI i field
e site_id
affinché quella chiave sia utilizzabile nella query. Non è necessario utilizzare i campi nello stesso ordine in cui sono elencati nella chiave (where site_id=.. and field1=...
funzionerà come where field1=... and site_id=...
), ma poiché field1 viene visualizzato prima di site_id nella definizione della chiave, è necessario utilizzarlo anche affinché l'intera chiave sia utilizzabile.
Lo stesso vale per il tuo q
campo. Deve anche essere il primo nelle chiavi da coprire, altrimenti quelle chiavi sono inutilizzabili.