Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3075 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java-Jdbc] requêtes SQL n'aboutissant pas !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java-Jdbc] requêtes SQL n'aboutissant pas !

n°186751
El_gringo
Posté le 31-07-2002 à 09:13:00  profilanswer
 

voila ma situation, pour le moins emmerdante :
Sur une plateforme de test dans ma boite, ma web-app fonctionne bien :
je balance un select qui rend une dizaine de résultats, sur une table contenant en gros 15 000 enregistrements, ça me répond en, mettons 1/4 de secondes.
Quand j'installe mon truc chez le client, ou la table ds laquelle je fais ce select contient en gros 100 millions d'enregistrements, cette même requête (qui là encore devrais rendre une diziaine d'enregistrements, SQL Plus à l'appuis) n'aboutis pas en 3 minutes (on atteind un timer). Qqn à une expliquation à ça ? (là, ça commence à craindre un peu pour moi !)

mood
Publicité
Posté le 31-07-2002 à 09:13:00  profilanswer
 

n°186772
R3g
fonctionnaire certifié ITIL
Posté le 31-07-2002 à 09:38:52  profilanswer
 

el_gringo a écrit a écrit :

voila ma situation, pour le moins emmerdante :
Sur une plateforme de test dans ma boite, ma web-app fonctionne bien :
je balance un select qui rend une dizaine de résultats, sur une table contenant en gros 15 000 enregistrements, ça me répond en, mettons 1/4 de secondes.
Quand j'installe mon truc chez le client, ou la table ds laquelle je fais ce select contient en gros 100 millions d'enregistrements, cette même requête (qui là encore devrais rendre une diziaine d'enregistrements, SQL Plus à l'appuis) n'aboutis pas en 3 minutes (on atteind un timer). Qqn à une expliquation à ça ? (là, ça commence à craindre un peu pour moi !)




15000 enregistrements -> 0.25 sec
3 minutes -> 10 800 000 enregistrements
(règle de trois powered  :D )
 
Nan sérieusement, j'ai pas d'idée là.

n°186773
El_gringo
Posté le 31-07-2002 à 09:39:55  profilanswer
 

Génial...
 [:yaissev] non, vraiement, merci pour ton intervention !

n°186774
El_gringo
Posté le 31-07-2002 à 09:40:20  profilanswer
 

Sinon, personne à de VRAIE idée la dessus ?

n°186776
darklord
You're welcome
Posté le 31-07-2002 à 09:42:22  profilanswer
 

bin c'est que tes accès ne sont pas optimisés ou que les champs qui sont utilisés pour la sélection ne sont pas indexés. Si tu ouvres SQLPlus ou autre, que tu tapes ta requete et qu'elle met 3 minutes c'est le SYSDBA qu'il faut taper, pas toi :)
 
Sinon c'est quoi cette histoire de Timer?


---------------
Just because you feel good does not make you right
n°186784
El_gringo
Posté le 31-07-2002 à 09:46:27  profilanswer
 

DarkLord a écrit a écrit :

bin c'est que tes accès ne sont pas optimisés ou que les champs qui sont utilisés pour la sélection ne sont pas indexés. Si tu ouvres SQLPlus ou autre, que tu tapes ta requete et qu'elle met 3 minutes c'est le SYSDBA qu'il faut taper, pas toi :)
 
Sinon c'est quoi cette histoire de Timer?




 
Bah, non, ils sont indexés les champs, justement. sous SQL Plus, la requète abouti en une disaine de secondes.
 
Heu, le timer, c le proxy chez mon client : il bloque une requête ds elle dépasse les 3 minutes. Du coup mes requètes n'aboutissent jammais. Ms j'demandais ça, juste desfois que qqn aurait une idée. si ça s'trouve ça vient d'autre chose.

n°186785
darklord
You're welcome
Posté le 31-07-2002 à 09:47:36  profilanswer
 

Quelle base
Quel driver
Comment construis tu ta requete
 
Pour SQLPlus tu te connectes avec le meme user/pwd et tu tapes exactement la meme requete ?


Message édité par darklord le 31-07-2002 à 09:47:42

---------------
Just because you feel good does not make you right
n°186791
El_gringo
Posté le 31-07-2002 à 09:51:03  profilanswer
 

DarkLord a écrit a écrit :

Quelle base
Quel driver
Comment construis tu ta requete
 
Pour SQLPlus tu te connectes avec le meme user/pwd et tu tapes exactement la meme requete ?




 
Driver :  
Sur Oracle
Avant j'utilisais JdbcOdbc.
J'ai changé pour thin en éspérant que ça changerai qqch : pareil.
ma requète, c'est censé être la même, Disons que je crois que c la même ! (:D)
D'ici qqs heures, je saurais exactement la requête que Oracle à reçu (grâce aux DBA de la boite qui utilise ma servlet)
même user/password.

n°186794
darklord
You're welcome
Posté le 31-07-2002 à 09:51:42  profilanswer
 

ouais bin vérifie déjà que c'est la meme alors ... Sinon ca sert à rien de spéculer pour rien


---------------
Just because you feel good does not make you right
n°186805
El_gringo
Posté le 31-07-2002 à 09:55:52  profilanswer
 

DarkLord a écrit a écrit :

ouais bin vérifie déjà que c'est la meme alors ... Sinon ca sert à rien de spéculer pour rien  




 
Ouais, ms c'étais pr une question + précise en fait :
D'après toi, du moment que j'balance une requête SQL via Jdbc, les index sont forcément utilisés, non ? (j'imagine que la gestion des index, ça se fait niveau Oracle, et que ma pitite web-app n'a pas sont mot à dire la dessus !)

mood
Publicité
Posté le 31-07-2002 à 09:55:52  profilanswer
 

n°186809
darklord
You're welcome
Posté le 31-07-2002 à 10:09:12  profilanswer
 

exactement. Par contre si tu utilise JdbcODBC la ca risque d'etre super lent
 
Thin est plus optimisé mais si ca change rien il doit y avoir un problème dans ta query ou la facon dont tu la crées.


---------------
Just because you feel good does not make you right
n°186812
El_gringo
Posté le 31-07-2002 à 10:16:35  profilanswer
 

DarkLord a écrit a écrit :

exactement. Par contre si tu utilise JdbcODBC la ca risque d'etre super lent
 
Thin est plus optimisé mais si ca change rien il doit y avoir un problème dans ta query ou la facon dont tu la crées.




 
Bah, Odbc ça utilise les index aussi qd même...
Enfin, maintnant, ils utilisent thin, une bonne chose de fait. Par contre en fait, j'regardais, logiquement OCI, ça doit être plus performant, non ? vu que ça utilise des dll natives, alors que thin est pur Java...
 
la façon dont je cré ma query, elle est toute bête. j'concatène, j'concatène ...
En fait, ce topic ma fait penser que le bloquage doit se faire ailleur. Y me reste à trouver où ! :(

n°186833
--greg--
Posté le 31-07-2002 à 10:37:19  profilanswer
 

t'as vérifié l'url(host, nom de base, etc) pour ta connexion? :D

n°186836
--greg--
Posté le 31-07-2002 à 10:39:56  profilanswer
 

tu utilises des prepared statements?

n°186845
El_gringo
Posté le 31-07-2002 à 10:54:14  profilanswer
 

--greg-- a écrit a écrit :

tu utilises des prepared statements?




 
...non !
dans ce cas là, t sur que c important ?
y me semblait que c'était dans le cas ou on fait le requète plein de fois, ms là, je fais ma requète qu'une seule fois.

n°186848
El_gringo
Posté le 31-07-2002 à 10:55:03  profilanswer
 

--greg-- a écrit a écrit :

t'as vérifié l'url(host, nom de base, etc) pour ta connexion? :D




 
ouais, ms l'url est bonne.
J'accède à leur base de données. Je lis dans d'autres tables. c qd je fais des recherches sur cette table énorme que ça merde !

n°186859
--greg--
Posté le 31-07-2002 à 11:03:40  profilanswer
 

el_gringo a écrit a écrit :

 
 
...non !
dans ce cas là, t sur que c important ?
y me semblait que c'était dans le cas ou on fait le requète plein de fois, ms là, je fais ma requète qu'une seule fois.




ha non, non mais c juste qu'ici on a eu un prob avec des prepared statement qui utilisaient pas les index...
si tu as toad:
lance ta servlet
va dans toad ->tuning/sga trace optimization
tu choisis ton user, puis refresh, tu choisis la requete en question, puis tu regardes dans explain plan

n°186881
El_gringo
Posté le 31-07-2002 à 11:22:56  profilanswer
 

--greg-- a écrit a écrit :

 
si tu as toad:
lance ta servlet
va dans toad ->tuning/sga trace optimization
tu choisis ton user, puis refresh, tu choisis la requete en question, puis tu regardes dans explain plan




 
heu... g pas compris !

n°186884
--greg--
Posté le 31-07-2002 à 11:25:43  profilanswer
 

el_gringo a écrit a écrit :

 
 
heu... g pas compris !



bah, tu as toad ou pas?
 
y'a ptet moyen de faire la mm chose avec les outils "par defaut" d'oracle mais ils suxxent des ours, j'ai meme pas envie d'essayer.
en gros tu peux voir avec ce bidule comment ont été executées les requetes qu'oracle à gardé dans son cache

n°186907
El_gringo
Posté le 31-07-2002 à 11:37:16  profilanswer
 

--greg-- a écrit a écrit :

bah, tu as toad ou pas?
 
y'a ptet moyen de faire la mm chose avec les outils "par defaut" d'oracle mais ils suxxent des ours, j'ai meme pas envie d'essayer.
en gros tu peux voir avec ce bidule comment ont été executées les requetes qu'oracle à gardé dans son cache




 
Ha, ok
non, g pas ça.
Et puis je suis pas chez les client. ça me parait délicat de leur demander d'utiliser ça ! :(  
merci qd même.

n°186910
--greg--
Posté le 31-07-2002 à 11:38:16  profilanswer
 

el_gringo a écrit a écrit :

 
 
Ha, ok
non, g pas ça.
Et puis je suis pas chez les client. ça me parait délicat de leur demander d'utiliser ça ! :(  
merci qd même.



ben choppe toi free toad, regarde comme ça marche, retourne chez ton client et mate comment ça se passe...
ou bien prend une copie de leur db chez toi ;)

n°186914
El_gringo
Posté le 31-07-2002 à 11:42:25  profilanswer
 

--greg-- a écrit a écrit :

ben choppe toi free toad, regarde comme ça marche, retourne chez ton client et mate comment ça se passe...
ou bien prend une copie de leur db chez toi ;)




 
Pour l'instant, c pas prévu que j'aille chez eux.
Prendre une copie de leur bd, en voila une idée qu'elle est bonne.
Vite, je branche mon modem 56K, et je lance le transfer. Je reviens dans un petit millénaire voir si c terminé !:D

n°186956
--greg--
Posté le 31-07-2002 à 12:12:19  profilanswer
 

el_gringo a écrit a écrit :

 
 
Pour l'instant, c pas prévu que j'aille chez eux.
Prendre une copie de leur bd, en voila une idée qu'elle est bonne.
Vite, je branche mon modem 56K, et je lance le transfer. Je reviens dans un petit millénaire voir si c terminé !:D



ben mon pauvre, travailler dans ces conditions...

n°186958
El_gringo
Posté le 31-07-2002 à 12:14:04  profilanswer
 

--greg-- a écrit a écrit :

ben mon pauvre, travailler dans ces conditions...
 




 
non, j'déconne, g pas de modem, ms même avec l'ADSL, c comlpètement inenvisageable que je récupère les 100 millions d'enregistrements qu'ils ont dans leurs table !

n°186962
--greg--
Posté le 31-07-2002 à 12:16:40  profilanswer
 

el_gringo a écrit a écrit :

 
 
non, j'déconne, g pas de modem, ms même avec l'ADSL, c comlpètement inenvisageable que je récupère les 100 millions d'enregistrements qu'ils ont dans leurs table !



et les cdrom tu connais pas? :heink:

n°186971
darklord
You're welcome
Posté le 31-07-2002 à 12:26:13  profilanswer
 

y en a qd meme qui me font rire. Récemment un gars me demandait de l'aide pour une applet qui lis des vidéos en streaming et:
 
- Il a un firewall qui l'empeche de faire des tests avec de serveurs de stream public (genre TF1 ou autre)
- Son boss ne veut pas installer un server de stream dans l'intranet parce que c'est chiant.
 
Faut pas déconner qd meme ...


---------------
Just because you feel good does not make you right
n°186978
El_gringo
Posté le 31-07-2002 à 12:29:51  profilanswer
 

--greg-- a écrit a écrit :

et les cdrom tu connais pas? :heink:




 
non, ms g l'impression que tu te rends pas bien compte de ce que c'est que 300 millions d'enregistrements (tt à l'heure je disais 100, ms c parce que ça n'avait pas vraiement d'importance). tu crois que ça tient sur 3 cd's ?
ils leur faut des disaines de disques optiques numériques pour stocker tout ça. plusieurs TerraOctets j'imagine, et tu crois que j'vais graver ça sur CD !? non, ms 'faut rester sérieux un peu !

n°186986
--greg--
Posté le 31-07-2002 à 12:37:58  profilanswer
 

el_gringo a écrit a écrit :

 
 
non, ms g l'impression que tu te rends pas bien compte de ce que c'est que 300 millions d'enregistrements (tt à l'heure je disais 100, ms c parce que ça n'avait pas vraiement d'importance). tu crois que ça tient sur 3 cd's ?
ils leur faut des disaines de disques optiques numériques pour stocker tout ça. plusieurs TerraOctets j'imagine, et tu crois que j'vais graver ça sur CD !? non, ms 'faut rester sérieux un peu !



et toi tu crois que tu vas debugger ton appli qui fonctionne pas sur leur bd de merde, à distance, sans copie de la bd ni accès à cette db depuis ton poste!? non, ms 'faut rester sérieux un peu !

n°186996
darklord
You're welcome
Posté le 31-07-2002 à 12:46:17  profilanswer
 

--greg-- a écrit a écrit :

et toi tu crois que tu vas debugger ton appli qui fonctionne pas sur leur bd de merde, à distance, sans copie de la bd ni accès à cette db depuis ton poste!? non, ms 'faut rester sérieux un peu !
 




 
 :jap: gringo je confirme que t'es lourd!


---------------
Just because you feel good does not make you right
n°186997
darklord
You're welcome
Posté le 31-07-2002 à 12:47:16  profilanswer
 

--greg-- a écrit a écrit :

et toi tu crois que tu vas debugger ton appli qui fonctionne pas sur leur bd de merde, à distance, sans copie de la bd ni accès à cette db depuis ton poste!? non, ms 'faut rester sérieux un peu !
 




 
d!ailleurs tu fais comment pour tester?


---------------
Just because you feel good does not make you right
n°186998
--greg--
Posté le 31-07-2002 à 12:47:22  profilanswer
 

DarkLord a écrit a écrit :

 
 
 :jap: gringo je confirme que t'es lourd!



g pas dit ça moi:ange:

n°187077
El_gringo
Posté le 31-07-2002 à 13:58:31  profilanswer
 

Mais putain, je fais comme je peux, vous m'faites chier !
J'demande si vous avez pas une idée. J'vous demande pas de me dire comment j'doit bosser. C qd même possible de trouver d'ou vient un bug, sans pouvoir le reproduire. ça m'est arrivé un paquet de fois. Desfois y suffit de réfléchir,ou que qqn ai une idée. D'ou mon post.
Pour l'instant j'essaye de trouver d'ici. Si j'y arrive pas, je rajouterai un log à ma servlet, et je ferai installer ça au client, ou je me déplacerai...
 
Merci...

n°187088
darklord
You're welcome
Posté le 31-07-2002 à 14:02:05  profilanswer
 

Qui fait chier l'autre franchement gringo?
 
Moi je trouve que tu nous prends particulièrement pour des cons. Tu débarques avec un problème sur lequel on se penche et on prends sur notre temps personnel (et bénévole je le rappelle) pour finalement apprendre que :
 
- Tu ne sais pas si c'est la meme query
- Que tu n'as pas accès à la DB qui te pose problème
- Que tu n'es meme pas sur le site.
 
Je te signale que j'essaie de répondre à tout ce que je peux sur ce forum alors gardes tes insultes pour toi, t'es lourd un point c'est tout. Et ca c'est pas une insulte, c'est une réalité
 
sur ce bye


---------------
Just because you feel good does not make you right
n°187109
El_gringo
Posté le 31-07-2002 à 14:09:09  profilanswer
 

DarkLord a écrit a écrit :

Qui fait chier l'autre franchement gringo?
 
Moi je trouve que tu nous prends particulièrement pour des cons. Tu débarques avec un problème sur lequel on se penche et on prends sur notre temps personnel (et bénévole je le rappelle) pour finalement apprendre que :
 
- Tu ne sais pas si c'est la meme query
- Que tu n'as pas accès à la DB qui te pose problème
- Que tu n'es meme pas sur le site.
 
Je te signale que j'essaie de répondre à tout ce que je peux sur ce forum alors gardes tes insultes pour toi, t'es lourd un point c'est tout. Et ca c'est pas une insulte, c'est une réalité
 
sur ce bye




 

  • J'ai insulté personne, j'ai juste signalé le sentiment que vous m'inspiriez à cet instant (et que vous m'inspirez encore dans ce topic).
  • Les infos que tu as "apprises" comme tu dis, je les ai données dès le départ. Je vous ai donné les éléments dont je dispose pour résoudre le problème. j'ai demandé si qqn à une idée. Après, si vous avez pas d'idée, c pas grave, du moment que vous me dites pas que je suis lourd, ou autre...
  • J'vous prend pas pour des cons, sinon j'vous demanderai pas votre avis !:D
  • Dark, le "bye", ça veut dire que désomais, tu vas boycotter mes topics ?

n°187113
darklord
You're welcome
Posté le 31-07-2002 à 14:12:12  profilanswer
 

j'en sais rien gringo. En tout cas tout ca nous détourne du sujet initial qui est un des problèmes que j'ai aussi actuellement. Je dirai que si ca va bien avec 15.000 enregistrements et que ca merde avec plus de données, tu ne dois pas aller voir dans ton code (sauf la requete SQL).
 
Faut voir la config de la BD (y a t il les memes index en dev qu'en prod).
 
Et puis passez de 15.000 à 3000000 c'est pas rien qd meme. et le nombre d'enregistrements retourné (que ce soit 1 ou 50) n'as pas grand chose à voir là dedans je pense. C'est plutot le volume de la base et sa config.
 
Donc téléphone au SYSDBA de la boite, que veux tu que je te dises d'autre.


---------------
Just because you feel good does not make you right
n°187128
El_gringo
Posté le 31-07-2002 à 14:20:45  profilanswer
 

DarkLord a écrit a écrit :

j'en sais rien gringo. En tout cas tout ca nous détourne du sujet initial qui est un des problèmes que j'ai aussi actuellement. Je dirai que si ca va bien avec 15.000 enregistrements et que ca merde avec plus de données, tu ne dois pas aller voir dans ton code (sauf la requete SQL).
 
Faut voir la config de la BD (y a t il les memes index en dev qu'en prod).
 
Et puis passez de 15.000 à 3000000 c'est pas rien qd meme. et le nombre d'enregistrements retourné (que ce soit 1 ou 50) n'as pas grand chose à voir là dedans je pense. C'est plutot le volume de la base et sa config.
 
Donc téléphone au SYSDBA de la boite, que veux tu que je te dises d'autre.




 
...rien !:D
D'ailleur j'attend plus grand chose de ce topic depuis que t'as répondu à ma question sur la gestion des index de base de données. (et je t'en remercie à nouveau)
Le nombre d'enregistrement retourné, j'pense que ça a une importance qd même. Parce que, si ma requète devait retourner 1 000 000 d'enregistrements, j'comprendrais qu'elle soit un peu longue !:D

n°187134
darklord
You're welcome
Posté le 31-07-2002 à 14:24:48  profilanswer
 

ouais ne jouons pas avec les mots hein :)


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java-Jdbc] requêtes SQL n'aboutissant pas !

 

Sujets relatifs
[SQL & ACCESS]de C++ vers Java : le mot clé "const"( en C++)
[JDBC] Driver Accessgenerer une page HTML en java
[Java] Requete au proxy sans resolution DNS[PHP / MYSQL ] Comment qu on fait avec ce type de requetes ? [RESOLU]
mysql et jdbccode HTML ou java script
SQL (insert into) et VB[JAVA] savoir sous quel environnement la VM tourne ?
Plus de sujets relatifs à : [Java-Jdbc] requêtes SQL n'aboutissant pas !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR