A la vista de la consulta, los únicos índices que veo que vale la pena tener son 3 índices para la tabla Praparacion, uno para CodigoMaster1, otro índice para CodigoMaster2 y un tercer índice para CodigoMaster3.
NOTA: Si tienes una tabla con los Codigos, seguramente se ejecutará mas rápido esta consulta (que da el mismo resultado):
Código SQL
[-]
select codigo,
coalesce((select sum(kilosmaster1) from preparacion where codigomaster1 = codigo), 0) +
coalesce((select sum(kilosmaster2) from preparacion where codigomaster2 = codigo), 0) +
coalesce((select sum(kilosmaster3) from preparacion where codigomaster3 = codigo), 0) as kilos
from codigos
Naturalmente sigues necesitado un índice independiente para cada campo codigomaster1/2/3
Saludos.