12/11/2012, 14:27
|
| Colaborador | | Fecha de Ingreso: julio-2007 Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses Puntos: 180 | |
Respuesta: Cuales son las desventajas del operador In? Con esta respuesta cierro mis comentarios sobre el tema:
¿Escucho hablar del proyeto LA ACADEMIA para México?, fue el "refrito" de OPERACION TRIUNFO en España.
Bueno, pues ese proyecto fue desarrollado para Grupo Salinas (TV Azteca, Iusacel, Elektra, Salinas y Rocha, etc.) por tu servidor y otros 7 colaboradores (comunicaciones, desarrollo, web, bases de datos).
A mi me toco desarrollar la base de datos (SQL Server 2000), que recibia MILLONES de llamadas, por un canal multi-hilos, para hacer todos los comparativos de recepcion ("Venta por llamadas telefonicas 01900").
Cuando haciamos comparativos, nos dimos cuenta que al utilizar NOT IN - IN (.....), era mucho mas lento que con NOT EXISTS.
Al ponerme a leer sobre el asunto, me di cuenta que el NOT IN - IN, hace un recorrido de los registtros (SCAN) y que el EXIST - NOT EXIST, por el contrario, utiliza los indices.
Por tanto, era mucho mas eficiente utlizar EXIST - NOT EXIST.
Como los programas fueron en VIVO, requeriamos de query's bastante eficientes, no deseo ocultar que al principio cometimos muchos errores en cuanto a la decision de utilzar "x o z" instruccion, pero con el tiempo, fuimos tomando experiencia al respecto (hablo de los años 2000).
Solo para que te des una idea de cuantos registros recibiamos, en la final de este programa, que fue un domingo, empezamos a las 2:30 y terminamos a las 00:30 hrs, recibiendo mas de 3 millones de llamadas.
Si esto no es significativo, entonces, ya no se que decir.
Saludos.
__________________ MCTS Isaias Islas |