Вие не показвате ключовата си структура, въпреки че тя показва този site_id е част от многокомпонентен ключ (MUL ). имайте предвид, че ако не е ПЪРВОТО поле в този многочастен ключ, тогава ключът не може да се използва за тази клауза where. например ако имате
KEY somekey (field1, site_id, field3, ...)
тогава вашата клауза where трябва да включва ДВЕТЕ field и site_id за да може този ключ да може да се използва в заявката. Не е нужно да използвате полетата в същия ред, в който са изброени в ключа (where site_id=.. and field1=... ще работи по същия начин като where field1=... and site_id=... ), но тъй като полето1 се появява преди site_id в дефиницията на ключа, трябва да го използвате и за да може целият ключ да бъде използваем.
Същото важи и за вашия q поле. Той също трябва да е първи в ключовете, които се покриват, или тези ключове са неизползваеми.