Hola buenas tardes prueba lo siguiente.
Doy por hecho que en las dos tablas tienes definido el campo codcue como indexado, si es así y su nombre de indice es por ejemplo idxcodcue
Fuerza las dos tablas para que utilicen este indice de la siguiente manera
SELECT a.codcue, a.debcom, a.crecom
FROM cn_contable a force index(idxcodcue)
LEFT JOIN cn_puc b force index(idxcodcue) ON b.codcue = a.codcue AND b.nivel = 5
WHERE a.feccom <= '2017-12-12'
AND a.cn_mostrarlocal = 1
tambien puedes utilizar el indice primario en la tabla cn_contable de la siguiente manera.
SELECT a.codcue, a.debcom, a.crecom
FROM cn_contable a force index(primary)
LEFT JOIN cn_puc b force index(idxcodcue) ON b.codcue = a.codcue AND b.nivel = 5
WHERE a.feccom <= '2017-12-12'
AND a.cn_mostrarlocal = 1
Prueba los resultados,, lo tienes que notar seguro.
Ya nos cuentas, saludos :)