Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2011, 17h17   #1
Nouveau Membre du Club
 
Inscription : août 2002
Messages : 111
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 111
Points : 32
Points : 32
Par défaut Grosse table et Tri

Bonjour,

Pour une application financière codé en java, j'ai une grosse table de "tick" (~40Millions de ticks).

L'application java a besoin de tout prendre le contenu de cette table trié par date. (c'est donc un simple select from order by).

J'ai pas besoin de quelque chose de super rapide, mais le problème c'est que postgresql retrie la table à chaque fois du coup je dois attendre plusieurs minutes avant qu'il commence à me retourner des rows.

J'ai essayé en créant un index mais je pense que postgresql ne l'utilise pas car je demande tout le contenu de la table.

Existe t'il une solution pour pré-définir un tri des données.

Merci !
Stéphane
Stef784ever est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 18h24   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Combien de colonnes dans la table ?

Si peu (une dizaine max) faites un index sur toutes les colonnes en commençant par la date.

Sinon... dommage que PG n'implémente pas les index couvrant (clause INCLUDE) comme le fait par exemple SQL Server.

A lire : http://blog.developpez.com/sqlpro/p9...t-sur-l-index/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 19h30   #3
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Citation:
Envoyé par Stef784ever Voir le message
J'ai essayé en créant un index mais je pense que postgresql ne l'utilise pas car je demande tout le contenu de la table.

Existe t'il une solution pour pré-définir un tri des données.
La technique recommandée pour faire ça est d'utiliser un curseur SQL (voir les commandes DECLARE, FETCH, CLOSE)
Si l'expression du tri est indexée, avec un curseur les premiers résultats seront disponibles tout de suite.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 22h50   #4
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
Et quid du réorg de la table en cluster selon l'index en question ?

edit: ca ne marche pas non plus, ca force le sort nvm
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 01h11   #5
Nouveau Membre du Club
 
Inscription : août 2002
Messages : 111
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 111
Points : 32
Points : 32
En fait je faisait mes test en shell, mais tu as raison estofilo, index + fetch et ça pas direct.

Merci à tous!
Stéphane

SQLpro : Merci pour la doc très instructive
Stef784ever est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h54.


 
 
 
 
Partenaires

Hébergement Web