Performance when using truncated VARCHAR as index in MySQL
You are only partially right. MySQL query optimization engine will still try to use that index, as long as:


Query has exact match (a = 'b', a &lt;> 'b', IN clause etc. - not "LIKE" clause),
Storage engine is InnoDB, XtraDB (Percona), or possibly some other fork of InnoDB.
Server is recent enough (at least 5.0 or 5.1 - I'm not sure now, but in 4.x varchar indexes worked a bit differently).