3 votes

Postgresql : order by two boolean and 1 timestamp columns (ordre par deux colonnes booléennes et une colonne d'horodatage)

J'ai des problèmes avec une requête qui devient terriblement lente au fur et à mesure que la base de données augmente.

Le problème semble être le tri, qui dépend de trois conditions : l'importance, l'urgence et l'horodatage.

La requête actuellement utilisée est tout simplement ancienne ORDER BY urgent DESC, important DESC, date_published DESC

Les champs sont booléens pour urgent et important, et date_published est un nombre entier (horodatage UNIX).

4voto

user unknown Points 15555

Créez des index pour les colonnes que vous triez régulièrement. Vous pouvez même définir un index composé.

2voto

bos Points 3373
CREATE INDEX foo ON table_name (urgent DESC, important DESC, date_published DESC);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X