Volvamos al principio:
Cita: Con estos valores:
1 - 8 - 2014-05-07 10:00:00
2 - 8 - 2014-05-07 10:00:01
3 - 8 - 2014-05-07 10:00:02
4 - 10 - 2014-05-07 10:00:03
5 - 8 - 2014-05-07 10:00:04
Me gustaría obtener 1 registro del código 8 y un registro del código 10 en un mismo SELECT ordenados por fecha DESC
Resultado que necesito:
4 - 10 - 2014-05-07 10:00:03
5 - 8 - 2014-05-07 10:00:04
Por los datos que muestras, y el resultado que buscas, lo que quieres es el último regustro ingresado de cada uno de esos códigos.
Eso hay varias formas de obtenerlo, or ejemplo:
Esas serían las más simples.
Ahora bien, esto:
Cita: en la tabla original que son 86 millones de registros (...)
Es información que deberías habernos dado desde el principio. En ese caso lo primero es asegurarse de los índices, y además
no traer datos en el SELECT que no sean estrictamente necesarios.
Es decir, nada de hacer "SELECT * ...". Eso te matará la consulta.
¿QUé índices tienes y sobre qué campos está creado cada uno?
Habría, además, que asegurarse de que la query esté usando realmente el índice. Un EXPLAIN sería una buena idea para tu prueba.