Frage

Arbeiten mit MySQL in letzter Zeit, von PHP, ich frage mich, dazu:

  • Was ist die Auswirkung auf die Leistung von mysql_real_escape_string() mehrfach an einem Skript?
  • Ist es das wert zu versuchen, die Anzahl der Anrufe für ein bestimmtes Skript für diese Funktion zu reduzieren?
  • Does es bestimmt den Zeichensatz der Verbindung jedes Mal aufgerufen wird, oder dieser Wert zwischengespeichert wird?

Wenn ein Szenario benötigt wird, denke ich über PHP und Unterscheidung zwischen Text und Zahlen, in denen Zahlen (mit intval(), floatval() oder direkten Abgüsse) können ohne Aufforderung enthalten sein.

War es hilfreich?

Lösung

Seien Sie nicht penny-weise und Pfund-dumm.

Ihre Fragen sind im Bereich der Mikro-Optimierungen. einen benötigten Index oder das Caching einige Abfrageergebnis Erstellen wird eine Größenordnung mehr Nutzen als sich Gedanken über die Auswirkungen auf die Leistung von wenigen Anrufe mysql_real_escape_string() haben.

Durch die Art und Weise, mit (int) $variable typecasting ist etwas schneller als intval($variable) aufrufen. Aber auch das wäre eine Mikro-Optimierung.

Andere Tipps

Wenn Sie eine Benutzereingabe vor dem Datenbankeintrag entkommen müssen, dann werden Sie zu verwenden mysql_real_escape_string() haben ... keine Sorge zu viel über vorzeitige Optimierung.

Alternativ können Sie vorbereitete Anweisungen Blick in die Sie diese Funktion mehrmals aufrufen, die sparen zu -. Und es ist sicherer, da es aus Benutzereingaben SQL-Logik trennt insgesamt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top