bonjour,

je voudrais optimiser mon serveur postgres (8.1 debian 2Go de RAM bi-xeon 5130) pour rendre l'exécution de cette requête monstrueuse plus rapide :


select id from sale_order_line where (state in ('confirmed','confirmed_wait','missed')) and (id in (27403,27405,27399,16583,27395,19018,27394,21292,20594,19019,20593,7682,27392,17994,28130,18039,27389,27380,27379,27377,27378,18020,27374,18002,27373,17878,17877,18146,27369,27367,27364,9692,27362,27360,17710,27357,27356,27355,27354,18148,27185,27352,27350,27348,3354,27345,18191,17707,27347,27343,27341,27339,27338,27334,17702)) order by id DESC limit 50

je ne peux pas intervenir sur le code de l'erp, juste sur les paramètres de psotgres voire de linux. cette requête prend 16s à donner les résultats, occupe lecpu à 100% et utilise 6% de la RAM (info obtenu sur un top en ligne de commande)

là j'ai coupé mais en fait il ya plus (10pages) d'id dans la liste...
j'a itenté d'enlever le order id mais ça change rien.