[RESOLU] PDO avantages ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] PDO avantages ?

Re: PDO avantages ?

par damien_55 » 26 févr. 2013, 10:28

Merci a vous pour toutes ces infos.

Re: PDO avantages ?

par AB » 26 févr. 2013, 06:16

D'un autre côté si tu ne souhaite pas utiliser pdo parce que tu as déjà beaucoup de code fait, ça serait bien pour les nouveaux projets d'utiliser au moins msqli car l'extension mysql est aujourd'hui dépréciée. Mysqli t'offre toutes les possibilités de pdo (l'abstraction en moins mais si tu travaille uniquement avec mysql tu t'en fou) et permet de faire un passage très facile de mysql vers mysqli.

Enfin que tu utilise pdo, mysqli ou mysql cela n'aura pas d'influence sur la vitesse de traitement comme l'a dit moogli

Pour pdo il est fortement conseiller de désactiver l'émulateur de requêtes préparée avec l'option PDO::ATTR_EMULATE_PREPARES, false
Cela optimisera les requêtes préparées et évitera qu'il échappe par défaut toutes les valeurs (d'où l'erreur type de la clause LIMIT).

Si tu utilises souvent les requêtes préparées (mais normalement on en pas souvent de réels besoins), pdo est un peu plus souple d'utilisation que mysqli car on peut utiliser des paramètres nommés ou des tableaux alors qu'avec mysqli il faut binder ses variables. D'un autre côté mysqli serait un peu plus optimisé que pdo.

Enfin bon à part l'abstraction qui permet plus facilement de passer d'un type de sgbd à un autre, pdo n'a pas grand intérêt par rapport à mysqli et le fait d'utiliser mysqli dans un projet poo n'est pas un handicap significatif. Bref, c'est un peu suivant ta disponibilité, si tu as du temps regardes plutôt pdo qui est plus universel (et plus agréable à écrire), ou si tu as plus urgent à faire pour l'instant tu peux continuer sans problème avec mysqli (mais éviter mysql).

Re: PDO avantages ?

par moogli » 26 févr. 2013, 00:28

Salut,

Utiliser PDO pour dire j'utilise PDO ça sert à rien :mrgreen:

Si tu est dans un contexte de poo c'est très pratique tu n'as besoin de coder l'abstraction de la base de données ;)
Ensuite injection de dépendance et ça roule (en plus tu peux typer avec l'objet : function truc(PDO $variable) par exemple ).

Ensuite, si tu ne fait que du procédural il n'y a pas plus d'intérêt que mysqli.

On va te parler de requête préparée mais elles sont rarement pour la bonne raison ;)

Si tu veux gagner en exécution a l'affichage il y a beaucoup de solution et pas forcément côté sgbd.
Mais de ce côté la tu peux commencer par optimiser tes requêtes, ne pas faire de sélect * par exemple.
Ne récupèrerait que les lignes dont tu a besoin (lazy loading) et pas toute la table pour utiliser que la dernière ligne :lol:

Utiliser explain pour te montrer collent sont utilisées tes requêtes.
Ajouter des d'index aux bine endroit (un bon modèle aussi ça aide).
Parfois sacrifier le moteur innodb pour myisam si tu a besoin de faire des recherches full text par exemple.

Sinon utiliser un cache côté serveur peux t'aider à affiche "plus rapidement tes pages (vue qu'il ne fera qu'un affichage et pas tous le calculs de la page).

Il existe plein de possibilité de cache serveur web, sgbd etc qui peuvent "aider" a l'affichage.

@+

PDO avantages ?

par damien_55 » 23 févr. 2013, 17:27

Bonjour a tous,

Je lis pas mal de trucs a propos de PDO, je suis en PHP-MYSQL.

En quelques mots,

- quel est le véritable avantage d'utilisé PDO si toutes les bases sont du même type (MYSQL)?
- Est il vraiment vérifier qu'on gagne en vitesse d'éxécution (ce qui serait pas mal pour les clients) ?
- Dans le cadre de dev pour des sites en responsive design, il y a t il un avantage ? (plus de rapidité par ex pour les tablettes et smartphone ?)

Enfin vous l'aurez sans doute compris, doit on se mettre a PDO ou cela est dédié a des situations particulières ?