Tecnología

Inicio

Combinación interna vs. implícita Únete

Combinación interna vs. implícita Únete


La mayoría de los servidores de bases de datos relacionales modernos utilizan el lenguaje de consulta estructurado o SQL, añadir, actualizar e informar sobre la información en bases de datos. instrucción SELECT de SQL, que se utiliza para mostrar los datos, tiene una cláusula facultativa llamadas INNER JOIN. Se conecta dos mesas unidas temporalmente en una sola unidad. SQL le permite utilizar INNER JOIN de dos maneras: implícitamente, mediante la especificación de las tablas y de forma explícita mediante la inclusión de las palabras "unión interna" en la sintaxis de la instrucción.

Seleccionar

En SQL, la instrucción SELECT muestra listas basadas en los datos en una base de datos. Por ejemplo, para mostrar una simple lista de clientes ordenados por su nombre, puede utilizar el siguiente código SQL:

CUSTOMER_NUMBER SELECT, nombre, ciudad, estado, zip_code FROM clientes ORDER BY nombre;

Unir internamente

Una operación JOIN conecta dos mesas juntas. La tabla de clientes, en este ejemplo, puede tener una llamada sales_code campo que se refiere a los registros correspondientes en una tabla separada vendedor. Las siguientes sentencias de la lista de la información del cliente y el nombre del vendedor. El primer ejemplo se utiliza combinación implícitamente, la segunda, de forma explícita:

CUSTOMER_NUMBER SELECT, nombre, ciudad, estado, zip_code, sales_name de los clientes, vendedor DONDE customers.sales_code = salesperson.sales_code ORDENAR POR nombre;

CUSTOMER_NUMBER SELECT, nombre, ciudad, estado, zip_code, sales_name FROM clientes INNER JOIN vendedor EN customers.sales_code = salesperson.sales_code ORDENAR POR nombre;

resultados

En la unión interna y unirse a los enfoques implícitos producir los mismos resultados. Tanto enumeran los mismos registros ordenados en el mismo orden. Cuando se utiliza la sintaxis INNER JOIN, esto instruye explícitamente SQL para conectar dos tablas sólo en los registros que tienen en común. Con la versión implícita, SQL supone que desea una combinación interna y conecta las mesas como si se hubiera especificado explícitamente.

Actuación

La diferencia de rendimiento entre INNER JOIN e implícita unirse depende del servidor de base de datos, tales como DB2 de IBM o de Microsoft SQL Server. En el caso de DB2, en la unión interna es de aproximadamente un percent.faster. Antes de que el servidor ejecuta un SELECT, que organiza la declaración en un plan, que es un conjunto de pasos optimizados para recopilar datos de manera eficiente. Los resultados previstos para ambos enfoques son los mismos, por lo que el plan es normalmente casi la misma. Debido a que DB2 muestra una ligera diferencia de velocidad entre los dos métodos, los planes son probablemente diferentes, pero en formas menores.

Mejores prácticas

La sintaxis INNER JOIN es un enfoque nuevo y más explícita a una instrucción SELECT. El rendimiento web de SQL Server recomienda su uso durante el método implícito mayor porque es más claro. El formato implícito hace que la cláusula WHERE realizar una doble función con la unión de tablas y evaluación de pruebas condicionales. El formato explícito mantiene las dos tareas separadas; INNER JOIN hace los datos de los ensayos de unión y donde por valores específicos.