![]() |
Rapidez y los UNION Hola, foreros: He leido en varios post que el uso de UNION en varias tablas para buscar hace que valla lento el sql. Entonces... ¿Como hago para buscar en varias tablas o simplemente manejarlas? |
Respuesta: Rapidez y los UNION El union sirve para mezclar dos o mas consultas SELECT en un unico conjunto de resultados, para buscar en varias tablas tienes simplemente que indicarle en el FROM y WHERE. |
Respuesta: Rapidez y los UNION Tema trasladado a Bases de Datos. |
Respuesta: Rapidez y los UNION Hola, Cita:
En primer lugar hay que definir la diferencia entre UNION y UNION ALL, el primero tiene un costo adicional dado que elimina los registros repetidos despues de la union de datos de las dos tablas, esto no es una operacion trivial, a veces es preferible tener un par de registros duplicado que el costo de la operacion. En segundo lugar estan los filtros de busqueda y si tienen indices los campos, ya que cualquier motor (lo asumo) primero filtra por el WHERE y al resultado aplica la UNION. Por ejemplo Código: SQL> select * from t1;Código: SQL> explain plan forComo conclusion, si los campos a los que aplico los filtros estan indexados, no deberia haber problemas, entonces de donde viene la afirmacion, en mi opinion, el problema esta en que buscas en 2 o mas tablas la informacion que esta en una sola. Imagina el siguiente escenario, tengo 10 tablas, y dos opciones, 10 consultas SQL para buscar la informacion por tabla o 1 consulta SQL con la UNION de las 10, en el primer caso, si encuentro la informacion en la primera tabla, ya no tengo que recorrer las 9 restantes, y ahi es donde puede estar el costo adicional. Saludos |
Respuesta: Rapidez y los UNION Hola... Ok!, entendido.... Gracias... |
| La zona horaria es GMT -6. Ahora son las 06:29. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.