Efficace de la dernière requête d'enregistrement avec Postgresql

J'ai besoin de faire une grande requête, mais je ne veux les derniers dossiers.

Pour une seule entrée, je voudrais probablement faire quelque chose comme

SELECT * FROM table WHERE id = ? ORDER BY date DESC LIMIT 1;

Mais j'ai besoin de tirer les derniers dossiers pour un grand (en milliers d'entrées) nombre de dossiers, mais seulement la dernière entrée.

Voici ce que j'ai. Ce n'est pas très efficace. Je me demandais si il ya une meilleure façon.

SELECT * FROM table a WHERE ID IN $LIST AND date = (SELECT max(date) FROM table b WHERE b.id = a.id);
  • Oui, mes SELECT DISTINCT requête de vous aider de quelque façon? Il doit être plus rapide qu'en corrélation les sous-sélections, mais je ne suis pas sûr de combien.
  • Utiliser stackoverflow.com/a/2111420/454769
InformationsquelleAutor Sheldon Ross | 2009-11-05