|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
J'ai une requete un peu "lourde" qui met du temps a s'executer et je voulais savoir si yavais pas un moyen de la faire autrement pour quelle soit plus rapide
Code sql :
Merci |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
et :
Code :
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
||
|
00
|
|
|
#3 |
|
Membre habitué
![]() Ludovic LemaitreIngénieur développement logiciels Inscription : mai 2006 Messages : 64 ![]() |
C'est quoi la clé primaire et les index de GB_SUIVI ?
|
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
Desolé de repondre si tard mais j'ai du m'occupper d'un projet plus urgent.
Les indexes de GB_SUIVI sont CODEPRODUIT, CODENATURE, SVERSION ID INTEGER IDCLIENT INTEGER CODEPRODUIT VARCHAR(12) CODENATURE VARCHAR(5) SVERSION VARCHAR(10) SDATE TIMESTAMP NOTE VARCHAR(200) La requete de makowski est un peu plus longue a s'executer (Statistic IBConsole) Citation:
Citation:
Je sais pas trop ce que ca veux dire tous ces trucs^^ |
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
pas clé primaire ?????
c'est la base toute table doit avoir une clé primaire c'est quoi le plan des deux requetes ?
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#6 | ||||
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
voici les plans:
Code :
Code :
Pour ma defense c'est pas moi qui ai créé les tables et mon IBConsole bug a chaque fois que je veux faire un truc sur les tables donc j'arrive pas a mettre de clé primaire... [edit] : je suis allé faire un tit tour dans la BD : 51 tables et seulement 16 qui ont une cle primaire |
||||
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
mouais
il te faudrait un autre outil que cette vieillerie d'ibconsole (database workbench par exemple) que tu donnes les stats des requetes la structure des tables et index et la version de Firebird
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#8 | ||||||||
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
Je crois que s'est firebird 2 qui est utilisé
Structure GB_SUIVI Code :
========================================================= Code :
Citation:
========================================================= Code :
Stats: Citation:
Voila j'espere que c'est complet^^ |
||||||||
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
et ça retourne combien de lignes ?
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
le problème c'est qu'il lit trop d'enregistements
tu peux essayer de faire un index (CODEPRODUIT, CODENATURE, SVERSION, IDCLIENT) ? Mais avant ça, c'est quoi le but de la requête en français ?
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#12 | |
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
La BD contient des clients. A chaque fois qu'ils achetent ou telecharge un produit il y a un nouvel enregistrement (avec le meme idclient).
Le but de cette requete c'est de recuperer tout ceux qui ont telecharger et acheté le produit SCRAP, mais si s'etait si simple que ca... En fait il y a une interface pour que ceux qui ne savent pas faire de requete puisse en faire.L'interface est composé de liste deroulante de la forme Citation:
Aprés pour executer la requete : je dois recuperer les conditions dans la table et construire la requete. |
|
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
essaie aussi ça :
Code :
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
||
|
00
|
|
|
#14 | |||
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
Je viens de tester elle met 4s a s'executer et a a peu prés les meme stats que la mienne.
Par contre je sais pas si je cherche dans le bon sens parceque le gros probleme c'est pour une requete de ce type : Code :
Je me suis dit quand ameliorant la simple sa ameliorerai celle-ci aussi (ce qui doit etre le cas) mais il serait peut etre plus judicieux que je me concentre sur cette derniere? Je l'ai executer : Préparé en 0.031s executé en 43.922s stats: Citation:
|
|||
|
|
00
|
|
|
#15 |
|
Membre habitué
![]() Inscription : mars 2007 Messages : 210 ![]() |
L'ordre des index est important?
j'ai modifié mon index comme ceci : et ca va beaucoup plus vite. En fait le probleme c'etait la base et pas les requetes^^ Merci beaucoup pour ton aide makowski |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com