Relative Performance in SQLServer von Substring im Vergleich zu einer Rechts-Links-Kombination

Dies ist eine leistungsbasierte Frage, kein " Ich verstehe nicht" oder "beste Übun "frage.

Ich habe ein varchar-Feld in einer SQLServer-Datenbank, das garantiert länger als 7 Zeichen ist. Ich muss ein char (4) -Feld extrahieren, das aus den Zeichen 2, 3, 4 und 5 im varchar besteht.

Zum Beispiel, wenn der Varchar den Wert 1234567890 hätte, würde ich nach dem 2345-Teil suchen.

Ist die Verwendung einer Teilzeichenfolge gegenüber einer Links-Rechts-Kombination von Vorteil für die Leistung?

SELECT SUBSTRING(account,2,4) FROM payment

ode

SELECT RIGHT(LEFT(account,5),4) FROM payment

Ich habe ein @ bemerleich Vorteil durch die Verwendung eines Rechts-Links-Zeichens für eine Tabelle mit 1.760.335 Datensätzen, aber ich bin nicht sicher, ob dies auf das Zwischenspeichern von Abfragen oder dergleichen zurückzuführen ist.

AKTUALISIERE Ich habe ein bisschen mehr Hausaufgaben gemacht. Es scheint, dass in diesem Fall das Rechts-Links-Signal letztendlich als Rechts-Teilzeichenfolge ausgeführt wird. Ist das eine Regel? oder ist es nur die Art und Weise, wie SQLServer beschlossen hat, diese bestimmte Katze zu häuten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage