Snelste, dynamische manier van PDO

  • Beste,


    Binnenkort wil ik een MySQL website compleet herschrijven in een vernieuwde taal.
    Van een kennis begreep ik dat ik liever kon kiezen voor PDO omdat het dynamisch is.


    Mijn vraag aan jullie is, hoe je queries kan opstellen (die het snelst uit te voeren zijn).


    Een voorbeeld in MySQL(i):


    PHP
    $select = $db->query("SELECT * FROM `users` WHERE bla bla bla")->fetch_assoc();


    Hoe kan je dit doen mbv PDO en dat het dynamisch is. (dus makkelijk te switchen naar mysqli)


    Met vriendelijke groet,


    ZMM


    --
    Ik zelf maak liever geen gebruik van prepared statements omdat ik begrepen had dat er een limiet is erop. (Als limiet is overschreden slaan de stoppen door en dan zit je zo nu en dan offline; ervan uitgaande dat mijn site erg groot is en dit kan gebeuren)

  • Guest, wil je besparen op je domeinnamen? (ad)
  • PDO is in paar opzichten beter dan MySQLI, echter zou ik toch als je zo min mogelijk code wilt gebruiken kiezen voor MySQLI.
    Als je bijvoorbeeld geen preprared statements gaat gebruiken en je het toch veilig wilt doen moet je de quote() functie gebruiken. Het probleem bij de quote functie is dat het alles in single quotes zet, in de db krijg je dus 'amsterdam'.


    Dit kan je vermijden door substr() te gebruiken alleen geeft dit ook meer code...
    Helaas kan ik je vraag met een snellere query niet beantwoorden, heb even lopen Googlen maar kon niks in die richting met PDO vinden.


    Edit: Ik zou persoonlijk ook voor een vaste SQL taal kiezen, zelf was ik begonnen met PDO en daarna ben ik overgegaan naar MySQLI. Ik zeg dit omdat bijvoorbeeld prepared statements in MySQLI en PDO sterk overeenkomen maar bijvoorbeeld de bind param functie schrijf je in beide talen anders. Wat ik vooral vaak verkeerd deed toen ik over switchte naar MySQLI

    Met vriendelijke groet,
    Reza.

    Bewerkt één keer, laatst door Reza ().

  • Reza
    Ik had begrepen dat PDO dynamisch was en door alleen de connect ($db) te veranderen, het een ander SQL taal aan zou kunnen nemen.
    Vandaar dat ik vraag, hoe ik dat het beste kan doen.


    --
    Dan nog een nieuwe (aanvullende) vraag:


    Is het handig om gebruik te maken van DB Wrapper ( https://github.com/entomb/OBJ-MySQL ), inprincipe is het dan makkelijk om te switchen. Maar hoe zit het dan met de snelheid?


    --
    Dan nog iets (xD):


    Performance
    While both PDO and MySQLi are quite fast, MySQLi performs insignificantly faster in benchmarks - ~2.5% for non-prepared statements, and ~6.5% for prepared ones. Still, the native MySQL extension is even faster than both of these. So if you truly need to squeeze every last bit of performance, that is one thing you might consider.


    http://code.tutsplus.com/tutor…should-you-use--net-24059




    Kan dit kloppen? (mysql is sneller dan PDO en mysqli)

  • Je laatste vraag kan ik wel beantwoorden :P


    Het lijkt mij logisch als MySQL inderdaad sneller is dan MySQLI/PDO. Vooral omdat MySQL ligt werkt en niet erg uitgebreid is, terwijl bij MySQLI en PDO vooral meer komt kijken als je naar de OO kant kijkt.

  • Hallo,


    voor heel veel applicaties is die kleine snelheidswinst tussen mysql/mysqli/PDO niet van belang. Denk gerust aan 99% wat op internet te vinden is. Dat schrijver van jouw bron beseft zich dat ook, vandaar het woord "insignificantly". Deze snelheden zal de gebruiker niet merken. Tenzij je moet denken aan hele zware applicaties die heel veel gebruikt zal worden. Maar daar komt niemand hier van in de buurt.


    Tegenwoordig kan je bijna niet meer aankomen met mysql. Steeds meer gaat men naar OO. mysqli en PDO doen dit, en goed ook.


    Mysqli is misschien iets sneller. Maar zoals gezegt is dit voor heel veel mensen absoluut niet van belang. PDO bied daarintegen meer functionaliteit, namelijk het ondersteunen van meerdere databases. Vandaar dat het aangeraden is om PDO te nemen. Deze is schaalbaarder.


    Tot slot, waar heb je gelezen dat er op PDO zo'n limiet zit. Dit heb ik nog nergens gelezen of gemerkt. Kun je linken?


    Mvg,
    Tim

  • Bedankt Reza & Tim,


    Link kan ik niet meer vinden, had laatst ivm phpmyadmin crashes een onderzoek gedaan en las het toevallig. (dat een persoon dat zei)
    Hij had het over prepared statements en niet specifiek over pdo.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!