Вие не показвате ключовата си структура, въпреки че тя показва този 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
поле. Той също трябва да е първи в ключовете, които се покриват, или тези ключове са неизползваеми.