Questa è una domanda basata sulle prestazioni, non una domanda "I don't understand" o "best practice".Prestazione relativa in SQLServer di sottostringa rispetto a una combinazione destra-sinistra
Ho un campo varchar in un database SQLServer che è garantito per essere più lungo di 7 caratteri. Ho bisogno di estrarre un campo char (4) composto dal 2 °, 3 °, 4 ° e 5 ° carattere nel varchar.
Ad esempio se il varchar aveva il valore 1234567890, avrei cercato la parte 2345.
Esiste un vantaggio in termini di prestazioni nell'utilizzo di una sottostringa su una combo da destra a sinistra?
SELECT SUBSTRING(account,2,4) FROM payment
o
SELECT RIGHT(LEFT(account,5),4) FROM payment
ho notato un leggero vantaggio utilizzando un destra-sinistra su un tavolo con 1,760,335 dischi, ma non sono sicuro se questo è dovuto alle richieste di caching o il piace.
UPDATE Ho fatto un po 'di compiti in più. In questo caso, sembra che in questo caso la destra-sinistra sia eseguita come sottostringa destra. È una regola? o è solo il modo in cui SQLServer ha deciso di skinare questo particolare gatto?
l'unico modo per essere sicuri nelle vostre circostanze è il benchmark ... –