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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[PHP] mysql VS mysqli en terme de performance?

n°1210449
betsamee
Asterisk Zeperyl
Posté le 29-09-2005 à 09:16:49  profilanswer
 

Reprise du message précédent :

Yoyo@ a écrit :

Bah surtout, ce que je me dis, c'est que 0.004s, c'est 8%, alors, ça correspond à des temps très très courts au global, dionc, c'e n'est pas assez fiable comme test. (mais bon, ça donne une idée :D)
 
Sinon, il me semble que 4.1.3 > 4.1.14, nan? (ça dépend si c'est classé ar ordre alphanum ou juste num)


 
ben oui 4.1.3 > 4.1.14 [:pingouino]
 

mood
Publicité
Posté le 29-09-2005 à 09:16:49  profilanswer
 

n°1210455
Yoyo@
Posté le 29-09-2005 à 09:22:00  profilanswer
 

Pardon, je voulais dire: 4.1.14 > 4.1.3, non?

n°1210462
Yoyo@
Posté le 29-09-2005 à 09:26:19  profilanswer
 

omega2 a écrit :

Moi, je suis passé directement de mysql4 à mysql5, donc je sais pas qu'elles sont les nouveautés par rapport à mysql4.
Mais il y a les procédure stokés qui ont l'air de bien marché même si j'ai rien fait de complexe avec.
Il y a aussi la possibilité de créer à l'intérieur d'une requette des tables temporaires à l'aide d'une requette de type "select" mis dans la partie from de la requette. (super rapide comme truc, tu gagnes beaucoup par rapport à de simples requettes imbriqués :) )
 
Grace aux procédures stockés, on peut limiter de maniére trés précise les droits d'accés aux données : il y a un niveau d'autorisation ou on autorise l'accés à une procédure stockés sans donner directement l'accés aux tables utilisé par la requette, la procédure stocké utilise alors les droits d'accés de son propriétaire.
 
Et il y a surement pleins d'autres trucs que j'ai pas encore découvert ou que je pense être déjà présent dans mysql 4.1 sans que ca soit le cas.


 
Tu pourrais me donner un exemple de ce que tu appelles table temporaire, etc dans le SELECT?
 
Sinon, le langage de procédure stocké te paraît il assez complet?

n°1210508
omega2
Posté le 29-09-2005 à 09:57:00  profilanswer
 

mysql 4.1.3 c'est pas une version plus ancienne que la version 4.1.14?
 
En tout cas, la version 5.0.3 est plus ancienne que la version 5.0.13 qui est la derniére sortie. donc 5.0.3 < 5.0.13 (< signifiant antérieure à)

n°1210511
Yoyo@
Posté le 29-09-2005 à 09:58:53  profilanswer
 

omega2 a écrit :

mysql 4.1.3 c'est pas une version plus ancienne que la version 4.1.14?
 
En tout cas, la version 5.0.3 est plus ancienne que la version 5.0.13 qui est la derniére sortie. donc 5.0.3 < 5.0.13 (< signifiant antérieure à)


 
Bah oui, ça me parait logique, car je pense qu'ils sont en "ordre numérique" donc 3<14 !

n°1210514
betsamee
Asterisk Zeperyl
Posté le 29-09-2005 à 10:02:11  profilanswer
 

erreur de ma part vous avez raison

n°1210522
Yoyo@
Posté le 29-09-2005 à 10:07:22  profilanswer
 

omega2 a écrit :

Moi, je suis passé directement de mysql4 à mysql5, donc je sais pas qu'elles sont les nouveautés par rapport à mysql4.
Mais il y a les procédure stokés qui ont l'air de bien marché même si j'ai rien fait de complexe avec.
Il y a aussi la possibilité de créer à l'intérieur d'une requette des tables temporaires à l'aide d'une requette de type "select" mis dans la partie from de la requette. (super rapide comme truc, tu gagnes beaucoup par rapport à de simples requettes imbriqués :) )
 
Grace aux procédures stockés, on peut limiter de maniére trés précise les droits d'accés aux données : il y a un niveau d'autorisation ou on autorise l'accés à une procédure stockés sans donner directement l'accés aux tables utilisé par la requette, la procédure stocké utilise alors les droits d'accés de son propriétaire.
 
Et il y a surement pleins d'autres trucs que j'ai pas encore découvert ou que je pense être déjà présent dans mysql 4.1 sans que ca soit le cas.


 
Tu pourrais me donner un exemple de ce que tu appelles table temporaire, etc dans le SELECT?  
 
Sinon, le langage de procédure stocké te paraît il assez complet?

n°1210527
omega2
Posté le 29-09-2005 à 10:10:07  profilanswer
 

Yoyo@ a écrit :

Tu pourrais me donner un exemple de ce que tu appelles table temporaire, etc dans le SELECT?
 
Sinon, le langage de procédure stocké te paraît il assez complet?


Code :
  1. select * from table1, (select * from table2) t2 where table1.id=t2.id


 
Exemple bidon, mais je penses que tu vois la syntaxe. :) Avec ce systéme (qui ne fait pas partie de la norme sql a ma conaissance) mysql, va créer lui même une table temporaire (le fameux t2) qu'il va utiliser ensuite comme une simple table et une fois la requette finis, il suprimera cette table temporaire qui n'aura jamais été visible par autre chôse que cette requette.
 
 
Pour les requettes stockées, je sais pas ce que permet le transatsql, donc je peux pas comparer, mais il me semble qu'ils vont rajouter plus tard d'autres langages de requettes imbriqués. Mais ca sera pour la 5.1 j'imagine.

Message cité 1 fois
Message édité par omega2 le 29-09-2005 à 10:12:06
n°1210532
betsamee
Asterisk Zeperyl
Posté le 29-09-2005 à 10:13:37  profilanswer
 

ben c'est une requete imbriquee non ?


Message édité par betsamee le 29-09-2005 à 10:14:57
n°1210541
Yoyo@
Posté le 29-09-2005 à 10:18:13  profilanswer
 

omega2 a écrit :

Code :
  1. select * from table1, (select * from table2) t2 where table1.id=t2.id


 
Exemple bidon, mais je penses que tu vois la syntaxe. :) Avec ce systéme (qui ne fait pas partie de la norme sql a ma conaissance) mysql, va créer lui même une table temporaire (le fameux t2) qu'il va utiliser ensuite comme une simple table et une fois la requette finis, il suprimera cette table temporaire qui n'aura jamais été visible par autre chôse que cette requette.
 
 
Pour les requettes stockées, je sais pas ce que permet le transatsql, donc je peux pas comparer, mais il me semble qu'ils vont rajouter plus tard d'autres langages de requettes imbriqués. Mais ca sera pour la 5.1 j'imagine.


 
génial! Merci, merci :o)
 
Effectivement, je suppose que c'est plus rapide que n'importe quelle création de table temporaire à la main, et surtout si la table est crée avec des appels multiples PHP -> MySQL !
 
Sinon, concernant le langage des procédures stocées, est ce qu'il contient au minimum tous les tests et boucles classiques (IF, FOR, etc?)

mood
Publicité
Posté le 29-09-2005 à 10:18:13  profilanswer
 

n°1210543
betsamee
Asterisk Zeperyl
Posté le 29-09-2005 à 10:19:08  profilanswer
 

je suis desole mais toutes ces features sont (tres bien gerees) a partir de MySQL 4.1.X
mises a part les procedures stockees et triggers


Message édité par betsamee le 29-09-2005 à 10:19:49
n°1210546
omega2
Posté le 29-09-2005 à 10:20:02  profilanswer
 

A ma conaissance, d'habitude, les requettes imbriqués, c'est dans le where uniquement et une requette imbriqué, c'est exécuté une fois par ligne de la requette principale.
là, la requette imbriqué est exécuté avant la requette principale (comme pour une requette créant une table temporaire) et la table temporiare est détruite automatiquement aprés l'exécution de la requette (certe une vrai table temporaire est détruite quand on se déconecte si on le fait pas explicitement avant ça).
 
En tout cas, avant de tomber moi même sur cette facilité, j'avais jamais vu personne mettre une requette dans le from d'une autre requette.
 
Finalement, je ne sais toujours pas si on doit vraiment apeller ça une requette imbriqué ou pas.

n°1210560
betsamee
Asterisk Zeperyl
Posté le 29-09-2005 à 10:26:00  profilanswer
 

:non:  
les requetes dans le from (qui est la solution a rechercher si possible car executees qu'un fois) sont des requetes imbriquees a part entiere
j'avoue que moi aussi quand je suis tombe dessus j'ai ete assez bluffe mais honnetement ca roxxe sa maman
j'ai du mal a m'en passer tant les pers sont exceptionneles

n°1210572
omega2
Posté le 29-09-2005 à 10:29:43  profilanswer
 

Moi, j'en abuse presque. C'est magique comme solution. :D
Ca fait partie de la derniére norme SQL ou c'est jsute mysql qu'a sorti ça de son chapeau d'un seul coup? :)

n°1210608
Yoyo@
Posté le 29-09-2005 à 10:50:06  profilanswer
 

Sinon, concernant le langage des procédures stocées, est ce qu'il contient au minimum tous les tests et boucles classiques (IF, FOR, etc?)

n°1210627
omega2
Posté le 29-09-2005 à 11:00:10  profilanswer
 

Faut regarder dans la doc de mysql ce qu'ils en disent. Avec le peu que j'en ai utilisé, je me souveins pas de tout. Mais il me semble qu'il y a bien les if et les for.

n°1210658
Yoyo@
Posté le 29-09-2005 à 11:40:11  profilanswer
 

Bon, alors, je viens de faire des tests sur ma version de MySQL (v4.1.12a sous WinXP), et effectivement, les requêtes imbriquées (car ce sont bien des requêtes imrbiquées) dans le FROM fonctionnent bien. Donc, ce n'est pas une nouveauté de MySQL v5.0.
 
D'autre part, en allant sur le site de MySQL, dans la section de downloads, la version 5.0 ne semble pas encore être une Release Candidate. Il est écrit:
 
MySQL 5.0 -- Development release (use this for previewing and testing new features)
 
Donc, je pense que je vais en rester à la version 4.1.x.
 
Sinon, je vais effectivement tenter d'utiliser mysqli.

n°1210668
omega2
Posté le 29-09-2005 à 11:49:54  profilanswer
 

http://dev.mysql.com/downloads/mysql/5.0.html
 
Juste en dessous du trait de séparation :

Citation :

This is the current Release Candidate version 5.0 of the MySQL database server.


 
Et dans la note à fond jaune encadré en rouge  juste un peu plus bas dans la page :

Citation :

Note: The 5.0.x release candidate builds pass our test suite and fix a lot of reported bugs found in the previous 5.0.x releases. Please see our bugs database for more information about issues you may encounter with this release.


 
Donc on en est bien aux release candidate maintenant. :)

n°1210673
Yoyo@
Posté le 29-09-2005 à 11:53:04  profilanswer
 

Oui, pardon, je ne sais pas vraiment ce qu'est une release candidate, mais en gros, on en est au stade "gamma", c'est à dire que le produit a été testé en interne, mais qu'ils comptent now sur les développeurs tiers pour tester le produit.
 
On n'est donc pas encore en version "Production".
 
Enfin, si je ne me trompe....

n°1210704
betsamee
Asterisk Zeperyl
Posté le 29-09-2005 à 12:33:05  profilanswer
 

disons que la version "Production" de mySQL n'est pas encore sortie [:petrus75]
 
EDIT : Bizarre qu'on ait pas vu Arjuna dans le coin [:pingouino]


Message édité par betsamee le 29-09-2005 à 12:36:15
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Php][Classe][Debutant] hum, où est l'erreur dans ma classe?[MYSQL] Incrémentation comme avec le PHP ou le C
ouvrir un fichier protégé via Http avec une fonction PHPMySQL jointure directement dans MySQLAdmin
PHP/MySQL : Performances[PHP Compilé pr ligne de commande] Comment demander une entrée de l'..
[MYSQL] Demande d'aide sur un SELECT[Resolu] Plusieurs requetes MySQL > Syntaxe PHP ?
Plus de sujets relatifs à : [PHP] mysql VS mysqli en terme de performance?


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