Vitesse d'execution enorme

Bonjour a tous,

J’ai installer une BDD MySQL pour un gros projet (en terme de donnée) d’une taille de 12 Go, il s’agit de plusieurs tables contenant entre 20 et 60 millions de tuples (plus des listes de valeurs de tailles réduites).

Le problème viens des temps d’exécution : un simple affichage des 30 premiers (affichage par défaut de phpmyadmin) s’exécute en une durée normal mais le simple tris sur entier prend tout de suite 10 minutes. La base est donc inutilisable. L’optique d’utilisation est l’extraction de population de la base, donc le temps d’exécution ne doit pas être basé sur un rendu web.

Y a il une solution autre que les index pour résoudre ce problème ?

Si non j’imagine que je dois migrer sur un nouveau SGBD que pensez vous de POSTGRES pour ce type de besoin ?

Merci d’avance a tous :slight_smile:

Woah, vu la taille de la base, peut-être qu’elle serait plus à l’aise sur de l’Oracle ou du SQLServer :expressionless:

Pour la rapidité d’exécution, je pense qu’en passant par les commandes SQL et non par phpmyadmin, ça devrait aller mieux

Ou passe à postGreSQL qui est plus robuste…

Sinon, faut que tu fasses du dév. spécifique.

Tout d’abord Merci pour vos réponses :slight_smile:

J’ai essayer de faire les opérations en ligne de commande directement et en effet j’ai un claire gain de rapidité mais c’est toujours difficilement exploitable (18 minutes pour les “petites” requêtes).

je vais regarder du côté de postGreSQL en espérant que sa vienne du SGBD :slight_smile: (Pour Oracle et SQLServer c’est pas tout a fait dans mes moyens :slight_smile: )

(Ca serait bien de changer ton titre pour un truc plus explicite proche de ton cas)

Idem que Raynor. Je vais finir par me fâcher un jour pour les prochains qui font express de coller des titres non explicite :confused:

J’ai envie de te répondre (avec humour bien sur !) que quand on a les moyens d’avoir une base de cette taille, on a théoriquement les moyens d’avoir le support qui va avec :ane:
Edité le 15/03/2008 à 10:59

J ai une seule question pour toi

1/ Est ce que tes tables sont au format 3NF voir BCNF ?
Si la reponse est non, je te conseille vivement d y passer. Cela decoupera surement des tables en de sous ensembles nettement plus gerable et sur lesquels les requetes pourront se faire bien bien plus vite.

Je te conseille aussi d’installer SQL Server Express avec le toolkit pour avoir SQL management studio.
Tu charges une partie de la base (limité a 1 ou 4 Go le SQL EE je sais plus, il est gratuit en meme temps)
tu copies tes requetes dans management studio
tu lui demandes d effectuer aussi le calcul du “plan de calcul” de la requete
Et t auras un beau schemas qui t indiqueras ou ca peche et t auras le choix entre modifier les requetes pour changer leurs ordres ou ajouter des indexes a certains endroits.

En esperant que cela t aide,

Cordialement,

Bonjour,

mais pourquoi autre que les index?
l’intérêt d’une BD est bien de pouvoir indexer les données…

Si tu passes à PG-SQL, les index seront également indispensable.