30

ben je vois toujours pas ce qu'il vient faire la le bbq grin

31

Balanced Base for Queries ?
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

32

33

vince: par rapport à ton post 13.. Si ton SGBD se comporte comme tu l'indiques, il faudra penser à le changer ou à le mettre à jour.. Ou alors tu racontes n'importe quoi...
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/

34

parce que tu crois que l'ordre des clauses where n'a pas d'impact sur la requète ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

35

Avec Oracle, depuis la version 8i, l'ordre des clauses WHERE n'a plus d'impact sur la requête, et c'est encore plus vrai depuis la 10g qui a introduit un optimiseur complètement réécrit.
J'ai aussi un peu l'expérience de PostgreSQL qui possède un bon système de collecte de statisques et qui choisit le chemin le mieux adapté en fonction de ces statistiques.

Maintenant, je ne sais pas quel SGBD tu utilises, mais je veux bien me laisser convaincre.
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/

36

merci de me donner raison ^^

ce que tu décris sur 8i et 10g, ça s'appuie sur le cache... or j'avais bien précisé sans requète et sans recours au cache...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

37

Ordonner les WHERE « sans requète et sans recours au cache »... bah si, c'est possible : pourquoi crois-tu qu'Oracle s'appelle Oracle roll ?
En fait, Oracle inclus un moteur de prévision divinatoire, “Crystal Ball”, qui lui permet de connaître le contenu de la table sans même la lire, ce qui fait qu'il peut ordonner les WHERE comme il faut.
D'ailleurs, dans la version 13z, il n'y a même plus besoin d'écrire les WHERE, Crystal Ball s'occupe de les générer automatiquement à la place de l'utilisateur...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

38

Ce que je décris sur la 8i et la 10g ne s'appuie pas sur le cache mais sur l'analyse du contenu des tables, ce que l'on appelle la collecte des statistiques. Arrêtes de raconter n'importe quoi, et ça n'a rien à voir avec la magie noire ou la divination.
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/

39

« analyse du contenu des tables » != « sans requête »

Allez, je cite in extenso le ./14, juste par plaisir :
vince (./14) :
exemple simple : tu fais un select sur ta table, et tu pose deux conditions (sur deux colonnes) on va dire age et poids dans une table personnes de 5 millions d'enregistrements. Bon, comment il fait le sgbd pour savoir si c'est le poids ou l'age qui permettra une convergence plus rapide SANS FAIRE DE REQUETE (sur 5 millions d'enregistrements, rappelons le) ? Eh bien justement, il ne peut pas savoir, donc si le développeur ne peut préciser un ordre précis alors il a la quasi garantie qu'il ne pourra jamais mettre en oeuvre la requète optimale. cqfd
Et puisqu'il est question de rappel, hop, on rappelle :
vince (./14) :
[...] SANS FAIRE DE REQUETE (sur 5 millions d'enregistrements, rappelons le) [...]

C'est juste histoire de dire que tu continues à donner raison à vince, quoi que tu en dises...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

40

Ok, je n'avais pas fait attention.
Ce qui m'a fait bondir c'est "donc si le développeur ne peut préciser un ordre précis" (des conditions de la clause WHERE).. Le développeur n'a normalement pas à ordonner ces conditions avec un SGBD moderne mais il est en revanche devenu obligatoire de faire une collecte des stats dès que l'on a des tables conséquentes. Est-on au moins d'accord là-dessus ?
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/

41

Ouais et ça existe depuis un bail...

DB2 par exemple a toujours fonctionné comme ça... d'ailleurs il est hors de question d'espérer faire une vraie requète sur une table sans index...
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

42

Oui aussi.
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/

43

Finalement, tout le monde est d'accord sur tout, c'est la joie et la bonne humeur grin !
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

44

grin
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/