Il OR
parola chiave fa impazzire l'ottimizzatore di MySQL.
Potresti provare qualcosa del genere.
SELECT name FROM table WHERE lang_index='en' AND name LIKE 'myname%'
UNION
SELECT name FROM table WHERE lang_index='en' AND enam LIKE 'myname%'
Oppure potresti prendere in considerazione la ricerca FULLTEXT. Richiede MyISAM o una versione di MySQL 5.6 o successiva.
MODIFICA *È difficile sapere esattamente cosa sta succedendo con queste cose di ottimizzazione. Puoi provare questo? Questo vedrà se la selezione della lingua ti sta rovinando.
SELECT name
FROM table
WHERE (name LIKE 'myname%' OR enam LIKE 'myname%')
Puoi provare questo?
SELECT name FROM table WHERE lang_index='en' AND name LIKE 'myname%'
UNION ALL
SELECT name FROM table WHERE lang_index='en' AND enam LIKE 'myname%'
Non darà un risultato perfetto -- avrà elementi di nome duplicati -- ma salterà un DISTINCT
passaggio di deduplicazione nella tua query.
Potresti anche provare questo.
SELECT name
FROM table
WHERE lang_index='en'
AND id IN (
SELECT id from table
WHERE (name LIKE 'myname%' OR enam LIKE 'myname%'))