MySQL superficie de la carretera 21 y la frecuencia de preguntas analíticas

MySQL superficie de la carretera 21 y la frecuencia de preguntas analíticas
P1: MySQL ¿Cuáles son los principales motores de almacenamiento, que son adecuados para los escenarios de aplicación?

R: Hay ①MyISAM, antes de la versión 5.5 del motor de almacenamiento por defecto, soportes de fijación a nivel de tabla, y las claves externas no soporta transacciones, concurrencia es menor eficiencia, los datos leídos rápido, los datos de actualización lentamente. Principalmente adaptado para las operaciones de lectura, y los requisitos de concurrencia inferiores de aplicaciones. ②InnoDB, MySQL es actualmente el bloqueo de almacenamiento predeterminado soportes del motor a nivel de fila, las transacciones y las claves externas, buena eficiencia concurrente. Adecuado para integridad de la transacción y concurrencia, los requisitos de precisión de datos son relativamente altos, adiciones y supresiones muchas aplicaciones operativas. ③Memory, todos los datos almacenados en la memoria, la velocidad de acceso, los datos se perderán una vez que el servicio se apaga. Actualizado con menos frecuencia por una pequeña cantidad de tablas de datos para obtener rápidamente el acceso a los resultados. ④Archive, Federados y así sucesivamente.

P2: ¿Qué son los índices?

R: MySQL definición oficial del índice es: índice (index) es ayudar a MySQL de manera eficiente obtener la estructura de datos de los datos (ordenados). Además de los datos, el sistema de base de datos también mantiene una estructura de datos para el algoritmo de búsqueda se encuentran específica, la referencia de estructura de datos (punto) los datos de alguna manera, por lo que se puede implementar algoritmos avanzados de búsqueda en esa estructura de datos, esta estructura de datos está indexada .

P3: ¿Cuáles son las ventajas y desventajas del índice?

A: ① ventajas: mejorar la eficiencia de recuperación de datos, reducir los costos de la base de datos IO. Ordenar los datos por el índice de la columna, reducir el coste de clasificación de datos, reducir el consumo de CPU. ② desventaja: de hecho, el índice es una mesa, la mesa es la clave primaria y campos de índice, y apunta a la clase de entidad de registro, por lo que la columna de índice es para ocupar espacio. Aunque el índice de mejorar en gran medida la consulta de eficiencia, sino también a reducir la velocidad de actualización de la tabla, como la inserción de la mesa, UPDATE, DELETE. Debido al actualizar la tabla, MySQL no es sólo para guardar los datos, sino también ahorrar sobre el archivo de índice se actualiza cada vez que la adición de una columna de índice de campo se ajustará debido a que la información del índice de la clave de los cambios producidos por la actualización.

Índice de MySQL, que cuenta con el apoyo de varios: Q4?

A: Índice de ①BTREE: El tipo más común de índice, el índice más índices de apoyo B-tree. Índice ②HASH: Sólo soporte de motor de la memoria, el uso de escenarios simples. Índice ③R-árbol (índice espacial): índice espacial es un índice especial de tipo de motor MyISAM, que se utiliza principalmente para los tipos de datos geoespaciales, que se utiliza con menos frecuencia, no lo hagan presentaciones especiales. ④Full de texto (indización de texto completo): un índice de texto es un tipo de índice MyISAM especial, sobre todo para la indización de texto completo, InnoDB de la versión Mysql5.6 comenzó a apoyar la indización de texto.

P5: B + árbol y árbol B es lo que ¿Cuál es la diferencia?

A: ①BTree también conocido como equilibrada multicanal árboles de búsqueda, características BTree de un tenedor m como sigue: cada nodo en el árbol contiene hasta m niños. Además de los nodos nodo raíz y las hojas, cada nodo tiene al menos [ceil (/ 2 m)] niños. Si la raíz no es un nodo hoja, entonces hay al menos dos hijos. Todos los nodos de hoja están al mismo nivel. Cada no hoja clave de nodo por n y n + 1 de los punteros, donde [ceil (m / 2) -1] <= n <= m-1. ②B + Árbol es la variante BTree, B + Árbol BTree difiere de la siguiente manera: n tenedor B + Árbol que contiene hasta clave n, y BTree contener hasta n-1 º llave. nodo hoja B + Árbol mantiene toda la información clave, disposición de las teclas según el tamaño. Todos los nodos que no son hojas pueden ser vistos como una parte clave del índice. ③ A medida que la información clave nodo hoja B + Árbol único salvador, las investigaciones han venido de las hojas de cualquier clave raíz. Así B + Árbol de rendimiento de las consultas más estable.

P6: índice de árbol B + MySQL en lo que se había hecho para optimizar el?

A: MySql estructura de datos de índice de la clásica B + Árbol está optimizado. En la base de la original B + Árbol, la adición de un nodo a la hoja adyacente lista de punteros, está formado con una secuencia de punteros B + Árbol, mejorar el rendimiento del intervalo de acceso.

P7: ¿Cuáles son la clasificación de índice?

A: ① índice de valor único: el índice contiene sólo una única columna, una tabla puede tener múltiples índice separado. ② índice único: el valor de columna de índice debe ser único, pero permitir que el valor libre. ③ índice compuesto: el índice comprende una pluralidad de columnas.

P8: ¿Qué creó los principios de diseño de bases de datos de índice?

R: ① alta frecuencia de consulta, gran cantidad de tablas de datos crear el índice. ② limitar el número de índice: Para más adiciones y supresiones para cambiar la mesa de operaciones, si demasiados índices requieren altos costos de mantenimiento, reducir la eficiencia operativa, aumentar la operación que consume tiempo. ③ uso del prefijo más a la izquierda: Si el valor del campo de índice es demasiado largo, el índice se reduce la eficiencia de la aplicación. ④ eliminar el índice no se usa comúnmente. ⑤ utilizar un índice único, cuanto mayor sea la discriminación, mayor será la eficiencia. ⑤ utilizar el índice resumen, si el valor del índice es ocupado siempre el disco llega a ser grande, que afectará a la eficiencia. ⑥ tan a menudo como las condiciones de la consulta, a menudo la necesidad de clasificación, las operaciones conjuntas sobre el terreno la agrupación y la indexación. ⑦ tratar de extender los índices existentes, índice de conjuntos eficientes de múltiples índices independientes.

Q9: indice bajo qué circunstancias sería un fracaso?

A: ① cuando el índice compuesto no es el uso más a la izquierda columna de índice o falta de uso del salto, por ejemplo, nombre, edad y sexo campo de indexación, utilizando sólo la edad y el sexo o el fracaso cuando se utiliza sólo el nombre de índice y el sexo. ② Cuando la operación o función de índice fracaso llevan a cabo operaciones en el índice. ③ caracteres numéricos ningún índice comillas simples fallan, ya que MySQL optimizador de consultas escribirá automáticamente la conversión. ④LIKE para comprobar el índice% al comienzo del fracaso de la aplicación de la anterior% plan más inclinado a utilizar escaneo completo de tabla. Antes y después de ⑤OR no utilizar simultáneamente el índice cuando el índice falló. ⑥ Cuando las exploraciones de tabla completa utilizar una velocidad de escaneo completo de tabla es más rápido que usar el índice.

Tres paradigmas de base de datos se indica: Q10

A: ① El primer paradigma: unidad de datos mínima si cada columna no se puede dividir, la primera forma normal. Por ejemplo dirección de China Pekín puede dividir en dos, countyr: China, ciudad de Beijing. ② El segundo paradigma: el paradigma sobre la base de una primera clave no primaria, predeterminado de las columnas de tabla dependen en parte de la ausencia de la clave principal, es decir, el segundo paradigma requiere único que se describe en cada tabla. Por ejemplo formulario de pedido: número de pedido, número de producto, fecha de la orden, el precio se divide en el formulario de pedido: número de pedido, fecha de la orden y mesas Productos: número de producto, el precio del producto. ③ tercer patrón: conocer el primer y segundo paradigma, y ​​la columna de la tabla depende de la falta de transmisión de la columna de clave no primaria. Por ejemplo formulario de pedido: número de pedido, fecha de la orden, ID de usuario, nombre de usuario puede ser optimizado para el formulario de pedido: número de pedido, fecha de la orden, nombre de usuario.

P11: MySQL base de datos de nivel de aislamiento de qué? ¿Cuáles son las características?

R: ① lectura no confirmada, se lee una transacción a otra transacción no presentó los datos, hay lecturas sucias, lectura no repetible, las lecturas fantasma problemas. ② lectura confirmada, una transacción puede leer datos de otra transacción se ha comprometido a resolver el problema de la lectura fantasma, hay una lectura no repetible, las lecturas fantasma problemas. ③ lectura repetible, MySQL nivel de aislamiento predeterminado, leer en una sola transacción con un resultado datos es el mismo, para resolver el problema de lectura no repetible, lectura fantasma existe problema. ④ serialización, se requiere que cada lectura para obtener un bloqueo a nivel de tabla compartida, escritura bloqueo entre sí, la ineficiencia, la magia de lectura para resolver el problema.

P12: ¿Qué problemas pueden surgir cuando se lee la base de datos?

R: ① sucia lee, lee los datos de una transacción a otra transacción no ha enviado la transacción final se revierte si los otros datos, a continuación, los datos leídos son válidos. ② lectura no repetible, una transacción puede leer datos de otra transacción ha sido presentado puede ser diferente resultados para los mismos datos leer en la misma transacción. ③ lectura fantasma, una transacción al leer los datos, cuando otra transacción inserta nuevos datos en una tabla de lectura mesa otra vez será más que unas pocas líneas, como alucinaciones.

P13: ACID asuntos propiedades breves

R: ①Atomicity representan toda la atomicidad operaciones, es una transacción atómica unidad indivisible, o bien todos tienen éxito, o todos fallan. ②Consistency indica que la consistencia, independientemente de la aplicación de la salida normal o anormal, la integridad de las transacciones ejecutadas antes y después de los datos deben ser coherentes, la cantidad total de ambos antes y después de dicha transferencia es constante. ③Isolation representa el aislamiento, la operación simultánea de diferentes transacciones están aislados el uno del otro, que no se afectan entre sí entre. ④Durability representa la persistencia, después de la transacción se completa la operación de datos modificado se persistió a un almacenamiento permanente.

P14: El principio básico descrito en la copia maestra de

A: maestro ①, el servidor de datos maestros copiado automáticamente de la copia se refiere a una actuación del servidor de base de datos como el servidor maestro, uno o más servidores adicionales para actuar como un servidor de la base de datos del servidor. Para la replicación de varios niveles, el servidor de base de datos puede actuar como anfitrión también puede actuar como un esclavo. base principal ②MySQL se replica desde el servidor primario para modificar los registros de base de datos binarios, desde el servidor a través del registro binario maestro automáticamente realizar la actualización.

P15: ¿Cuál de bloqueo de MySQL?

R: ① presiona el tipo de operación se puede dividir en un bloqueo de lectura (compartido cerraduras S) y un bloqueo de escritura (bloqueo exclusivo X). Bloqueo de lectura: para los mismos datos, múltiples operaciones de lectura se pueden llevar a cabo sin afectar a los demás al mismo tiempo. bloqueo de escritura: hasta que no se haya completado la operación actual, bloqueará otros bloqueos de lectura y escritura. ② proceso de prensado se divide en granularidad bloqueo de registro, la tabla de bloqueos, bloqueos de página. Línea se refiere a una cerradura de pestillo de datos de la línea, un bloqueo exclusivo. bloqueo de tabla se refiere a bloqueo de toda la tabla de la operación, simple, bajo consumo de corriente de los recursos. ③ página granularidad de bloqueo entre la cerradura y la cerradura fila de la tabla de bloqueo, un conjunto de bloqueo de registros adyacentes.

P16: ¿Qué son vistas? Y una mesa ordinaria cuál es la diferencia?

R: ① Vista (View) es una presencia virtual de la tabla. Ver en realidad no existe en la base de datos, la fila de la tabla y los datos de las columnas de la consulta utilizando la definición de la vista, y se genera dinámicamente utilizando la vista. Habla popular, la vista es el conjunto de resultados de una instrucción SELECT devuelve después de la ejecución. Así que cuando creamos un punto de vista, la creación de trabajo principal recae sobre esta consulta SQL. ② vista de ventajas respecto a la mesa convencional incluyen las siguientes: simple: el usuario utilizando la vista correspondiente a la estructura completamente sin interés detrás de la mesa, y las condiciones asociadas con filtros para filtrar el usuario ya es una condición bien del compuesto el conjunto de resultados. Seguridad: los usuarios sólo pueden ver las que se les permite acceder a la gestión de permisos de mesa conjunto de resultados de consulta y no pueden limitarse a una determinada línea de una columna, pero se puede ver a través de la implementación simple. Los datos independientes: vista de la estructura Una vez determinada, la estructura de la tabla puede proteger a los cambios del usuario, la tabla de origen no tiene efecto en las columnas de la vista aumenta; modificada nombres de columna de tabla de origen, se pueden resolver mediante la modificación de la vista, no hará que los visitantes impacto.

P17: ¿Cuáles son los procedimientos almacenados y funciones son? ¿Cuál es la diferencia?

R: ① procedimientos almacenados y funciones son pre-compilados y almacenados por un conjunto de sentencias SQL en la base de datos, procedimientos almacenados y funciones de llamada puede simplificar un montón de desarrolladores de aplicaciones de trabajo para reducir la transmisión de datos entre el servidor de base de datos y aplicación, por mejorar la eficiencia de procesamiento de datos es buena. ② La diferencia es que la función debe tener un valor de retorno, el valor de retorno no se almacena procedimiento.

P18: ¿Qué desencadenantes son?

R: ① gatillo está asociado con una tabla de objetos de la base, consulte antes de insertar / actualizar / borrar o después del gatillo y el gatillo ejecutar sentencias SQL definidas en la colección. Esta característica puede facilitar la aplicación del extremo del gatillo de la base de datos para asegurar la integridad de datos, registro, la operación de verificación de datos. ② uso alias viejo y nuevo récord referencias a cambios en el contenido del flip-flop, lo que es similar a la otra base de datos. Ahora también desencadenantes sólo es compatible con trigger a nivel de fila, no admite el trigger a nivel de declaración.

P19: entender la arquitectura de MySQL hacer?

R: ① capa de enlace: la parte superior es el número de clientes y servicios de enlace, incluidas las comunicaciones y herramientas de cliente / servidor basada en el calcetín más locales para lograr comunicaciones similares TCP / IP. Principalmente para completar algunos similares proceso de conexión, autorización y autenticación, y soluciones de seguridad relacionados. Introdujo el concepto de la agrupación de hebras de la capa, hilos proporcionan autenticación de acceso seguro por parte del cliente. También en este nivel se puede lograr de enlace SSL basada. El servidor también verificar que tiene la autorización de operación para cada acceso de seguridad del cliente. ② capa de servicio: la arquitectura de segundo nivel principalmente para completar la mayoría de los servicios básicos, como la interfaz SQL, y completar la consulta almacenada en caché, el análisis y optimización de SQL, la parte operativa de la incorporada en funciones. Todas las funciones a través de motores de almacenamiento también logran este nivel, tales como procedimientos, funciones, y así sucesivamente. En esta capa, el servidor analiza la consulta y crea árbol de análisis interno, y su tabla optimización completa correspondiente, tal como la secuencia de consulta para determinar si el uso del índice, y finalmente generar se realiza la operación correspondiente. Si la instrucción de selección, el servidor consulta dentro de caché, si el espacio de caché es lo suficientemente grande como para que en el asentamiento de un gran número de operaciones de lectura puede ser un buen entorno para mejorar el rendimiento del sistema. ③ capa Motor: capa de almacenamiento del motor, el motor de almacenamiento verdaderamente responsables de almacenamiento y recuperación de datos MySQL, y el servidor se comunican a través del motor de almacenamiento API. Diferentes motores de almacenamiento tienen diferentes funciones, por lo que podemos de acuerdo a su necesidad de seleccionar el motor de almacenamiento apropiado. ④ capa de almacenamiento: la capa de almacenamiento de datos, principalmente en la interacción del sistema de archivos y de almacenamiento de datos completa y motor de almacenamiento.

P20: ¿Cómo debe el motor de almacenamiento para elegir?

R: ① en la elección del motor de almacenamiento, debe elegir el motor de almacenamiento adecuado en función de las características del sistema de aplicación. Para aplicaciones complejas, también puede seleccionar varias combinaciones de motor de almacenamiento de acuerdo con la situación real. Aquí hay un ambiente de motor de almacenamiento pocos de uso común. ②InnoDB: MySQL es el motor de almacenamiento por defecto para las aplicaciones de procesamiento de transacciones, el apoyo a las claves externas. Si la integridad de la aplicación de la transacción tiene mayores necesidades, requisitos de datos en condiciones concurrente consistencia, la inserción de datos y las operaciones de consulta, además de accidentes, también incluye muchas actualizaciones, eliminaciones, a continuación, el motor de almacenamiento InnoDB es una elección más apropiada. motor de almacenamiento InnoDB además de manera efectiva a reducir debido borrar y actualizar las cerraduras causa, sino también para asegurar que la completa más apropiada y presentar la transacción se revierte, para el sistema de facturación similar o sistema financiero para los requisitos de precisión de datos son sistemas relativamente alta, InnoDB es elección. ③MyISAM: Si la aplicación se lee y de inserción operaciones basadas, sólo unos pocos de actualización y operaciones de borrado, y la integridad de la transacción, los requisitos de concurrencia no son altos, a continuación, elija el motor de almacenamiento es muy apropiado. ④MEMORY: todos los datos almacenados en la memoria RAM, en la necesidad de localizar rápidamente los archivos y otras similares entorno de datos que proporciona acceso a unos pocos. defecto de memoria es que existen restricciones en el tamaño de la tabla, la tabla no puede ser mucho de un caché en memoria, seguido de la mesa para asegurarse de que los datos se pueden restaurar los datos en la tabla después de la terminación anormal de la base de datos puede ser restaurada. Las tablas MEMORY suelen actualizarse con menor frecuencia para una pequeña mesa para conseguir rápidamente el acceso a los resultados. ⑤MERGE: para una serie de tablas idénticas juntos de una manera lógica, y como una referencia de objeto ellos. MERGE ventaja es que la mesa puede romper la limitación para un único tablas MyISAM, y las diferentes mesas distribuidas por varios discos, puede mejorar efectivamente la eficacia del acceso tabla MERGE. Es muy adecuado para el almacenamiento, tales como almacenamiento de datos y otros entornos VLDB.

P21: etapa de optimización de SQL para entenderlo?

R:
① ver la frecuencia de ejecución de SQL.
② posicionamiento de aplicación ineficiente de SQL. A través de las siguientes dos maneras: registro de consultas lentas: localizar los menor eficiencia en la ejecución de las sentencias SQL por el registro de consultas lentas. mostrar processlist: registro de consultas lentas se registró después del final de la consulta, por lo que cuando hay un problema en la aplicación reflejar la eficiencia de la consulta y registro de consultas lentas no puede localizar el problema, puede utilizar el comando show processlist para ver el MySQL hilo actual en curso, incluyendo el estado de la rosca, si las tablas de bloqueo, etc., se puede ver en la ejecución en tiempo real de SQL, así como algunos bloqueo de tabla para optimizar la operación.
③ Después de la consulta a las sentencias SQL ineficientes por encima de paso, se puede obtener información sobre el desempeño de MySQL una instrucción SELECT, incluyendo el orden de cómo conectar y tabla de conexión durante la ejecución por EXPLICAR instrucción SELECT o DESC comando.
④Mysql desde la versión 5.0.37 añade soporte para el comienzo y perfiles Show declaraciones perfil. Mostrar perfiles nos pueden ayudar en hacer la optimización de SQL necesita tiempo para entender dónde estamos. ⑤MySQL5.6 proporciona un seguimiento rastro de SQL a través de los archivos de seguimiento pueden obtener más información acerca de por qué el optimizador de elegir el plan A, plan B en lugar de elegir. traza abierta, ajustar el formato JSON, y establecer el tamaño de memoria máximo de la traza que se puede utilizar para evitar proceso de resolución predeterminada porque la memoria es demasiado pequeña y no es capaz de completar el programa.

final: Si cree que este artículo útil para usted, recuerde que debe centrarse el reenvío de elogio, actualice su apoyo es mi motivación.

Supongo que te gusta

Origin blog.51cto.com/14409100/2484808
Recomendado
Clasificación