2009-05-16 5 views
0

Ich habe eine gespeicherte Prozedur in, während ich kommagetrennte Werte in Parametern bekomme. Ich habe drei Parameter, die durch Komma getrennte Werte haben. und ich muss sie in die Spalten der Tabelle setzen, also verwende ich while-Schleife. aber ich habe Angst, wenn zu viele (sagen lakhs von Benutzern) Benutzer mit meiner Website verbinden, dann wird mein Verfahren Leistungsprobleme haben.
Hat jemand eine bessere Lösung für dieses Problem?Mysql zu viele While-Schleifen innerhalb einer gespeicherten Prozedur

Vielen Dank im Voraus.
Grüße,
MySQL DBA

Antwort

0

SQL interpretiert wird, obwohl gesagt wird, 'kompiliert' werden. Dies bedeutet, dass Ihr Code möglicherweise schneller ausgeführt wird, wenn Sie einfach die Strings außerhalb der DB auflösen und mehrere Einfügungen anstelle von 1 Aufruf an eine SQL-Prozedur ausführen, die interpretierte SQL-Schleifen durch die Eingabe verwendet.

+0

Hallo Frans! Vielen Dank für Ihre Antwort. Aber kannst du ausdiskutieren, was du damit meinst, wenn du Strings außerhalb der DB aufteilst? –

+0

Ich meinte, dass Sie anstelle der String-Verarbeitung innerhalb der DB, außerhalb Code + SQL neu schreiben möchten, so dass Sie String-Verarbeitung außerhalb der SQL und verwenden Sie SQL nur für Operationen direkt auf den Daten. –

Verwandte Themen