Cita: Mi duda es si al utilizar un "SELECT tabla1 INNER JOIN tabla2 ON tabla1.codigo = tabla2.codigoarticulo" también debería mejorar la velocidad de la consulta si creo un índice en la tabla1 utilizando el campo codigo y un índice en la tabla2 por codigoarticulo.
Si las tablas son InnoDB, y el códigoarticulo es FK de la tabla de artículos, el índice es
innecesario, porque ya existe uno qu ees el que controla la relación.
No siempre se deben crear índices para todos los casos, sino optimizar su uso cn algunas técnicas especiales. Pero depende mucho del caso y de los datos en cuestión.
Danos más información (real, no ficticia) de los datos contenidos y de las relaciones, y veremos qué se puede hacer.