dedlfix: urldecode für mysql

Beitrag lesen

Hi!

die spalte einer großen tabelle muss sehr schnell urldecodriert werden. der einsatz von z.b. php um das zu tun würde einen riesigen performance verlust bedeuten. es ist auch nicht möglich, beim einfügen der daten das alles schon zu erledigen.

Lesetipp zu meiner Frage: http://aktuell.de.selfhtml.org/artikel/review/kontextwechsel/
kontextwechsel möchte ich wie gesagt aus performance gründen vermeiden.

Das Problem ist, dass der Kontextwechsel bereits irgendwann vor dem Einlesen stattgefunden hat und deiner Schilderung gemäß offensichtlich nicht angemessen berücksichtigt wurde. Kontextwechsel sind normalerweise "einfach da", weil zwei Systeme miteinander Daten austauschen, sie sind nicht von Willen des Programmierers abhängig. Wenn du die Ursache beseitigen willst, setz an der Stelle an, an der die Daten in den URL-Kontext gebracht wurden, obwohl er (vermutlich) nicht vorlag, beziehungsweise da, wo sie bei der Übernahme nicht aus selbigem befreit wurden.

wie würde ich so eine stored routine implementieren?

Was sind deine konkreten Fragen dazu? Die Syntax zu Stored Procedures ist nicht mal eben schnell hier erläutert.
Die generelle Systax ist im Kapitel Stored Programs and Views beschrieben, wobei dich speziell eine Stored Function interessieren wird. Du benötigst sicher dazu die MySQL Compound-Statement Syntax, die im Kapitel SQL Statement Syntax angesiedelt wird. Außerdem benötigst du noch Functions and Operators, speziell die String Functions (besonders UNHEX() und CHAR() können dir nützlich sein). Wenn das Ganze dann auch noch mit UTF-8 umgehen können muss, wird es etwas aufwendiger.

Lo!