Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] SQL korrekt in '' setzen, statt in ""

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] SQL korrekt in '' setzen, statt in ""

    Hi,

    ich habe jahrelang sämtliche String und Ausgaben mit " dargestellt. Bis ich gestern gelesen habe, dass ' ja viel schneller ist, weil da nix geparst werden muss. Will mich da nun umgewöhnen. Bei Scripts die bis zu 100.000 Abfragen durchführen, kann ich mir vorstellen, dass es sich hier lohnt das anzupassen. Ich habe mir nun mal einen SQL rausgesucht.

    PHP-Code:
    $sql "SELECT value FROM project_settings_admin WHERE description = 'project_last_export_images' LIMIT 1"
    Da ich in dem String ja schon mit ' Arbeite kann ich ja außen schlecht welche ranmachen. Also kommt ja nur Escapen in Frage:


    PHP-Code:
    $sql 'SELECT value FROM project_settings_admin WHERE description = \'project_last_export_images\' LIMIT 1'
    So einen Aufbau, habe ich aber auch noch nirgendwo mit den Escapen in einen SQL gesehen oder wie stellt man es hier am besten an, wenn man keine " nutzen will?

    Smilla


  • #2
    Für meine Begriffe wird da gar nichts geparst. Code #1 hat sogar den Vorteil, dass da keine Escapes drin sind, die noch "übersetzt" werden müssten.
    Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
    Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)

    Kommentar


    • #3
      Nutze doch einfach innerhalb der Querys die Double-Quotes:
      PHP-Code:
      $sql 'SELECT value FROM project_settings_admin WHERE description = "project_last_export_images" LIMIT 1'
      Dass Single-Quotes viel schneller sind als Double-Quotes ist übrigens ein Märchen. Sie sind schneller aber das ist nicht immer zu merken. Bei 100 000 Abfragen könnte der Unterschied zwar messbar sein, aber hier stellt sich a) die Frage, ob der Aufwand der Umstellung vertretbar ist und ob b) nicht die gesamte Architektur fehlerhaft ist. Sicher, es gibt Anwendungen, bei denen 100 000 Requests ihre Berechtigung haben, aber deiner Erfahrung nach zu schätzen gehe ich hier nicht davon aus.
      Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

      Kommentar


      • #4
        Siehe The PHP Benchmark
        Quote Typesdouble (") vs. single (') quotes
        [..]
        Conclusion:

        In today's versions of PHP it looks like this argument has been satisfied on both sides of the line. Lets all join together in harmony in this one!
        Das ist die Stelle, an der du am wenigsten Zeit investieren solltest, Performance aus deinen Skripten herauszuholen!
        "Mein Name ist Lohse, ich kaufe hier ein."

        Kommentar

        Lädt...
        X