Fiz um teste com uma bd com mais de 1 milhão de registos.
Ficou mais rápido com o left.
Retornar apenas os 3 primeiros carateres:
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,593 sec. network) */
SELECT LEFT(m.N_SERIE,3)
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,015 sec. (+ 1,578 sec. network) */
SELECT LEFT(m.N_SERIE,3)
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,515 sec. network) */
SELECT LEFT(m.N_SERIE,3)
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,516 sec. network) */
SELECT LEFT(m.N_SERIE,3)
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
Retornar todos os dados do campo:
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,516 sec. network) */
SELECT m.N_SERIE
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,609 sec. network) */
SELECT m.N_SERIE
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,609 sec. network) */
SELECT m.N_SERIE
FROM movimentos m
INNER JOIN movimentos_tipos t ON t.NUMERO=m.TIPO
;
/* Affected rows: 0 Found rows: 1.661.102 Warnings: 0 Duration for 1 query: 0,000 sec. (+ 1,610 sec. network) */