Ver Mensaje Individual
  #1  
Antiguo 18-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Reputación: 21
newtron Va camino a la fama
Optimización de tiempo de ejecución de Update en Sentencia SQL

Hola a tod@s.

Como sigo siendo algo lelo en temas de SQL os consulto a ver si me podéis echar un cable.

Supongamos que tengo dos tablas con los siguientes campos:

Código:
MOVIMIENTOS
CODIGO CLIENTE  TIPO
000001 000001     
000002 000001
000003 000002
000004 000001
000005 000002
000006 000003
Código:
CLIENTES
CODIGO   NOMBRE    TIPO
000001   FULANO       1
000002   ZUTANO       1
000003   MENGANO      2
Necesito rellenar el campo TIPO de la tabla MOVIMIENTOS con el campo TIPO de la tabla CLIENTES, una forma sería:

Código SQL [-]
UPDATE MOVIMIENTOS
SET TIPO=SELECT TIPO FROM CLIENTES WHERE MOVIMIENTOS.CLIENTE=CLIENTES.CODIGO

Esto funciona pero si atacamos a una tabla MOVIMIENTOS de unos cuantos miles de registros se hace lento.

Necesitaría ver si hay una forma de hacer que solo se actualicen en la tabla MOVIMIENTOS los registros correspondientes a los clientes que tengan un TIPO determinado para acotar el número de registros a actualizar en función de los clientes que tengan ese TIPO determinado, o sea, que solo actualice los registros de la tabla MOVIMIENTOS que afecten a clientes que tengan en la tabla CLIENTES el tipo 1 por ejemplo.

No sé si "mexplico".

Gracias y un saludo
__________________
Be water my friend.

Última edición por nlsgarcia fecha: 18-02-2015 a las 20:12:23. Razón: Sintaxis SQL
Responder Con Cita