MySQL basado en el aprendizaje 6

subconsultas

Sub-consulta es una consulta SQL en otra (añadir, borrar, cambiar de verificación) en el nido


La subconsulta devuelve un solo solo

La consulta devuelve una sola sub separada aparente, que es un solo valor separado que se puede utilizar cuando se utiliza el valor de filtro entre, pero tienen paréntesis.

Ejemplo:
la consulta "Ingeniería Informática" ¿Qué profesional.

SELECT
	MajorName
FROM
	major
WHERE
	DepartmentID = (SELECT
	DepartmentID 
FROM 
	department
WHERE
	DepartmentName = '计算机工程系');

En el whereinterior, nos DepartmentIDjuzgamos igual no es un valor, directa, pero con departmentun valor de filtrar, por lo tanto nuevamente examinado. Esto es lo que llamamos rendimientos sub-consulta una sola separada

la cual

(SELECT
	DepartmentID 
FROM 
	department
WHERE
	DepartmentName = '计算机工程系')

Aquí, en línea con DepartmentName = '计算机工程系'malla, de una proyección de un valor , entonces para whereel cribado.

Sub-consulta devuelve varios registros

Sub-consulta devuelve varios registros, y vuelve sub-consulta una sola columna en un solo uso es esencialmente el mismo, se seleccionan los datos, y luego para su uso.

Ejemplo:
Consulta CourseID10101, ExamScore 98 puntos de información del estudiante estudiante.

SELECT *
FROM
	student
WHERE
	StuID = 
	(SELECT 
		StuID 
	FROM 
		score
	WHERE 
		ExamScore = 98 AND 
		CourseID = 10101);

** Queremos encontrar entre el titular de los datos, pero la figura no está claramente las dos tablas, pero también es necesario para filtrar la tabla de datos que desea obtener, así que utilizamos los rendimientos sub-consulta varios registros , el código anterior, soportes de la espalda código dentro, se tamiza StuID, por lo que entonces proyectará tabla Studen. CourseID10101, ExamScore 98 en descartar a los datos, por lo que en la mesa, estábamos ExamScore = 98 AND CourseID = 10101.
En sub-consulta devuelve varios registros , vamos a utilizar los siguientes operadores: EN CUALQUIER | algunos, todos

  • en: el representante de la colección, que está presente en esta colección.
  • cualquier: <cualquier valor representa uno menos que el interior, <cualquier representante de un mayor valor que el interior, = hubiere, y el mismo efecto que en (una línea)
  • todo: <all representa todos los valores menores que el interior, <todos los representantes de todos los valores mayores que el interior, = todos los representantes sentido (todos unos)

Sub-consulta devuelve varios registros de consulta de múltiples columnas

Grabación de una pluralidad de declaraciones de sub-consulta una consulta varias columnas se pueden filtrar a cabo utilizando los datos como una mesa, puede ser utilizado como una condición, puede variar dependiendo de las circunstancias.
Ejemplo:
Consulta lunes las clases tienen una clase, el número de la clase, el número de clases.

SELECT
	a1.ClassName,
	a2.ClassroomID,
	a2.Weekday,
	a2.Part
FROM
	class a1,
	(SELECT 
		ClassID,
		ClassroomID,
		Weekday,
		Part 
	FROM 
		teachingcourse 
	WHERE Weekday = 'mon') a2
WHERE
	a1.ClassID = a2.ClassID;

Aquí A2 es acabada tabla de criterios de selección, las condiciones de detección tienen clases el lunes, y luego establecer una tabla de clase de conexión, echa un vistazo a los datos que desee.

En caso de que la tabla de conexión y la tabla no está muy familiarizado con, Dime lo que puede ser la primera referencia >> ---- la consulta de combinación de varias mesas

índice

Importancia:
búsqueda de información, sistema de software de recuperación es el operativo más utilizado, y la velocidad de la velocidad de las consultas afectará directamente el tipo de sistemas de software puede y experiencia del usuario.
Se puede utilizar el índice y la partición de tablas de consulta a mejorar el rendimiento. El índice es una de las principales medio eficaz de factor para mejorar la recuperación de datos para cualquier DBMS (sistema de gestión de base de datos), los índices están optimizados.
La cantidad de datos es pequeña, el efecto no es evidente, cuando la cantidad de datos, el efecto es evidente.
Popular términos: índice de base de datos es como un diccionario, si no hay un índice, entonces usted tiene que revolver que desee encontrar una página tras otra, si tienen un índice, al igual que con el catálogo, acelera la búsqueda.

índice agrupado

Un diccionario, por ejemplo, que están buscando la octava lección, usted debe el cambio de la quinta clase, es necesario seguir el siguiente turno, si girar el grupo de primero, tiene que dar marcha atrás.

  • "Indice de agrupación" clave primaria debe predeterminado, si no la clave principal, un índice no único vacío se seleccionará en su lugar, o no, se define implícitamente como una clave principal "índices agrupados."
  • "Índice agrupado" no está seleccionada, su número de índice (Lección 8) y los registros correspondientes (contenido) existen juntos.

Ventajas y desventajas

  • Ventajas: La clave principal para la subasta, hacen que el alcance de la consulta clave primaria
  • Desventaja: por lo general por la clave principal, si la clave primaria es uuid

índice no agrupado

O en el diccionario, por ejemplo, usted quiere encontrar una palabra para el verde, se enciende al directorio del diccionario está ordenado de acuerdo a la primera letra de la palabra, tenemos que encontrar G, para encontrar cualquier verde. Habrá un número correspondiente de páginas.

Clasificación Índice de Estructura de Datos

B + ÁRBOL

características:

  • índice general
  • índice único: los valores de campos de índice generales deben ser únicos +
  • índice de clave principal viene
  • índice común (varias columnas)

Estructura de datos para el índice es b + árbol, b es un árbol de equilibrio equilibrio, se deriva sobre la base de una estructura de árbol binario.

Es capaz de comprender la imagen del sitio ----> imágenes de árboles binarios de búsqueda autobalanceados binarios comprensión (árboles AVL)
Imagen de los árboles binarios de búsqueda autobalanceados comprensión (árboles AVL)

índice hash

característica

  • Pronto, la memoria total, no rango adecuado para encontrar la otra.

Es capaz de comprender la imagen del sitio ----> imágenes de la tabla hash entendimiento)
Imagen de la tabla hash comprensión

otros tipos
  • r-árbol: para la geometría
  • Indización de texto: para el texto grande, difuso que%

indexación

CREATE INDEX crea un índice

formato:

CREATE [unique|fulltext|spatial] 
INDEX 
	索引名 [using btree|hash] 
ON 
	表名(字段名[(length)] [asc|desc] );

Que es opcional:

  • [Steam | Todo el texto | espacial]: índice de tipos
  • [El uso de btree | picadillo]: tipos de datos de índice
  • columna de índice indicación antes de cuántos caracteres para crear índices: Longitud
  • [Asc | desc]: indica el orden de clasificación de los valores de los campos de índice, el valor por defecto cuando se omite ascendente asc

Ejemplo:
para anotar tabla de índice StuiID
CREATE INDEX idx_stuid ON score(StuID);

La pregunta es, después de la finalización de la creación del índice, cómo ver su índice, o cómo construir su propio cheque no indexará?

La sintaxis es la siguiente:
SHOW INDEX FROM 表名;

Por ejemplo, ahora queremos consulta índice de la tabla dentro de Studen:
Índice de consulta
Este es un método de indexación de un nombre de campo, se encuentra el establecimiento de dos nombres de campo de índice juntos, donde tenemos que prestar especial atención a la orden de los nombres de campo , de lo contrario, se producirá Error al consultar otros temas.
Sintaxis es la siguiente:

CREATE [unique|fulltext|spatial] 
INDEX 
	索引名 [using btree|hash] 
ON 
	表名(字段名[(length)],字段名[(length)] [asc|desc] );

Debido a la creación de un índice y una individual, como en este caso, no son los mismos detalles, recuerda que hay que recordar el orden de las preguntas.
Si un (nombre de campo 1, nombre de campo 2) dos nombres de campo indexado, entonces:

  1. En la primera cuestión 1 nombres de los campos se separan investigación.
  2. El problema con el cheque por nombre de campo 1, nombre de campo 2 pares de columnas.
  3. El problema no puede ser resuelto por el nombre del campo 2 investigación separada.

La indexación se ha aprendido, sino también aprender cómo comprobar que no hay índice, la próxima vez que la consulta para ver si el índice.

直接在select前面添加explain

Sí, eso es tan simple, recuerde palabra clave explicarlo.
Ejemplo:
explicar palabras clave
Podemos ver en la figura a cabo, no utilice la consulta índice, que es la razón?
Debido búsqueda difusa, precedido por ciento no utilizan índices. Recuerde que esto también, o si se supone que hay una entrevista.

declaración de modificación de tabla crea un índice

formato:

ALTER TABLE 
	表名 
ADD INDEX [索引名] [索引类型](索引字段);

En ello tiene muchas formas, tales como las claves principales, singularidad, claves foráneas, etc., en el siguiente formato:

主键:
ADD [constraint 约束名] PRIMARY KEY [索引类型](主键字段) 
唯一性
ADD [constraint 约束名] UNIQUE [索引名] [索引类型](唯一键字段)
外键
ADD [constraint 约束名] FOREIGN KEY [索引名] (外键字段) REFERENCE...


Una escritura planes de lecciones de los maestros para enseñar: la fiebre del tomate

Una última nota: Soy también un programa de principiante, es inevitable lugar equivocado, esperamos que después de leer y descubrimos que los errores pueden comentar, gracias

Publicado 12 artículos originales · ganado elogios 101 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/lolly1023/article/details/105282863
Recomendado
Clasificación