@ernewston: cuando me refiero a consultas optimizadas se tratar de evitar en lo posible que el motor de SQL busque información para poder ejecutar determinada consulta, indicando de
forma explicita cada elemento que se quiere consultar, ejemplo:
SELECT * FROM clientes; //
lento porque el motor tiene que buscar cuales son los campos de la tabla clientes
SELECT nombre, apellido, id FROM clientes; //
rápido porque el motor no tiene que buscar nada, solo interpretar y extraer
SELECT nombre, apellido, id_pedido FROM clientes INNER JOIN pedidos ON (id_cliente=id); //
lento porque el motor tiene que buscar a que tabla le corresponde cada campo, y con el problema que puede generarse si las tablas tienen campos iguales
SELECT clientes.nombre, clientes.apellido, pedidos.id_cliente FROM clientes INNER JOIN pedidos ON (pedidos.id_cliente=clientes.id); //
rápido: el motor ya sabe de quien es cada campo
y entre otras cosas como optimización se subquerys por JOINS