Muchas gracias a los 2 por responder. En primer lugar, el campo id_articulo si que está indexado, es una clave primaria, al igual que el campo id en la tabla articulo.
Por otra parte he corregido las malas prácticas en el código SQL que me has mencionado gnzsoloyo. La consulta ha quedado así:
Por otra parte, el campo referencia es un valor variable, ya que las referencias cada vendedor tiene la suya propia y de momento obtámos por dar un valor muy elevado al campo de 60 para posteriormente reducirlo. Pero rara vez el contenido en referencia se excede de 20 caractéres.
Por último el contenido de explain es el siguiente:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE a ref PRIMARY,id_empresa id_empresa 4 const 197487 Using where
1 SIMPLE ad eq_ref PRIMARY PRIMARY 4 --- 1 Using index