Um Ihre Frage direkt zu beantworten:Ja, Sie können left(zip, 5) indizieren.
alter table tblName add index (zip(5));
Und wenn Sie möchten, dass die Abfrage den Index verwenden kann, um alle Spalten zu durchsuchen:
alter table tblName add index (cat_id, subcat_id, zip(5));