MySQL gestión 8 operación, el mantenimiento de bases de datos, mejorar el rendimiento

1. Transacción

No todos los motores soportan las transacciones. MyISAM e InnoDB motor son dos los más comúnmente utilizados, el primero no admite la administración de transacción explícita, y el apoyo de esta última.

Las transacciones pueden ser utilizados para mantener la integridad de la base de datos, lo que asegura que el grueso de las operaciones de MySQL ya sea totalmente ejecuta o no ejecutado en absoluto.

transacción por transacción: se refiere a un conjunto de sentencias SQL;

Rollback Rollback: instrucción SQL se refiere a revocar el proceso de designación;

Presentar comprometerse: se refiere al resultado de la instrucción SQL no se almacena en la tabla de base de datos;

Retención punto de punto de almacenamiento: medios marcadores de posición temporales previstas en la transacción, puede back-off paso (con diferente de nuevo todo el proceso de transacción).

 

Control de transacciones:

MySQL utilizar la siguiente instrucción para identificar la transacción comienza:

  START TRANSACTION

Uso ROLLBACK:

ROLLBACK reversión de MySQL (deshacer) MySQL comunicado.

  * SELECT FROM ordertotals;

  START transacción;

  DELETE FROM ordertotals;

  * SELECT FROM ordertotals;

  RETROCEDER;

  * SELECT FROM ordertotals;

Aquí hay una tabla para mostrar (nada que ver con los asuntos). Con START TRANSACTION para iniciar una transacción. ROLLBACK para deshacer la transacción por medio de la instrucción SQL es un conjunto de comandos SQL de la transacción.

ROLLBACK ser utilizado dentro de una transacción (después de la ejecución de un comando TRANSACCIÓN START).

El que las transacciones se pueden deshacer? gestión de transacciones para INSERT, UPDATE y DELETE, una instrucción SELECT no se puede revertir, no se puede deshacer la operación CREATE o DROP.

 

Uso COMMIT:

Las declaraciones generales son MySQL tabla de base de datos para la ejecución directa y preparado. Esto se conoce como la sumisión implícita de que el autor (escrito o guardar) la operación es automática.

En un bloque de transacción, presentada no se llevará a cabo de manera implícita. Para clara envía mediante la sentencia COMMIT:

  START transacción;

  Eliminar de artículos de pedido DONDE order_num = 20010;

  Eliminar de pedidos donde order_num = 20010;

  COMETER;

En este ejemplo, dos sentencias DELETE generalmente no quieren enviar instrucciones SQL directamente a la misma, pero sólo con el fin de presentar después de la confirmación. Si hay una transacción instrucción SQL error cometido, toda la transacción no se confirma (revocada automáticamente).

 

transacción implícita cerrado: Cuando el COMMIT o ROLLBACK se ejecuta, la transacción se apagará automáticamente (futuros cambios presentación implícita).

 

 

El uso de punto de espera:

declaraciones simples ROLLBACK y COMMIT se pueden escribir o revocar todo el proceso de transacción. Sin embargo, para hacerlo sólo para transacciones simples, las transacciones más complejas puede requerir volver confirma o se deshace parcial.

 

Para parte de soporte de la transacción se revierte, debe ser reemplazado con un marcador de posición en el bloque de procesamiento de transacciones en su lugar. Esto requiere una operación de deshacer, puede caer de nuevo a un marcador de posición.

Estos marcadores de posición llamados punto de retención. Para crear un marcador de posición, utilice la instrucción SAVEPOINT de la siguiente manera:

  DELETE1 SAVEPOINT;

Se toman reservas para identificar cada punto es sólo el nombre, de modo que cuando la reversión, MySQL sabe dónde devolver retirado.

  ROLLBACK TO DELETE1; // caer de nuevo a ahorrar algo de DELETE1

 

La liberación de los puntos de retención:

  punto de retención libera automáticamente después de que se complete la transacción (ejecutar un ROLLBACK o COMMIT). También puede utilizar LIBERACIÓN SAVEPOINT reservado expresamente el punto de liberación.

 

Cambiar el comportamiento de confirmación por defecto:

comportamiento por defecto de MySQL es enviar automáticamente todos los cambios. Es decir, además de la transacción en cualquier momento ejecutar una sentencia MySQL que realmente se ejecuta contra la mesa, y los cambios se aplican inmediatamente.

Para indicar que MySQL no se compromete de forma automática los cambios, es necesario utilizar la siguiente declaración:

  SET confirmación automática = 0;

bandera de confirmación automática determina si se debe confirmar automáticamente los cambios, si es o no sentencia de confirmación. Confirmación automática se establece en 0 (falso) indica el MySQL no enviar automáticamente los cambios (hasta confirmación automática se establece en true hasta ahora).

 

bandera de confirmación automática es para cada conexión en lugar del servidor.

 

 

2. Base de datos de mantenimiento

los datos de copia de seguridad:

Al igual que todos los mismos datos, los datos de MySQL debe ser respaldado con frecuencia. Debido a que la base de datos MySQL es un archivo basado en disco, sistema de copia de seguridad y la rutina ordinaria será capaz de copia de seguridad de datos de MySQL. Sin embargo, ya que estos archivos están siempre abiertos y en uso, una copia de seguridad de archivos ordinario no siempre es eficaz.

 

alternativas de copia de seguridad de datos:

  (1) con el mysqldump utilidad de línea de comandos para volcar todo el contenido de una base de datos a un archivo externo. Antes de realizar copias de seguridad periódicas debe ejecutar esta utilidad adecuadamente con el fin de archivo de volcado correctamente copia de seguridad.

  (2) la disposición de línea de comandos mysqlcopy utilidad de copia de todos los datos de una base de datos (no todos los motores de bases de datos compatibles con esta utilidad).

  (3) Se puede utilizar la tabla de MySQL copia de seguridad o SELECT INTO OUTFILE volcar todos los datos en un archivo externo. Estas dos declaraciones son aceptadas por el sistema de nombre de archivo a ser creado, no debe existir el sistema de archivos, o se produce un error. Los datos se pueden restaurar con RESTORE TABLE.

 

Con el fin de garantizar que todos los datos se escriben en el disco (incluyendo datos de índice), puede que tenga que utilizar comando FLUSH TABLES antes de realizar la copia de seguridad.

 

 

el mantenimiento de bases de datos:

MySQL proporciona una serie de declaraciones, se puede (debe) ser usado para asegurar un funcionamiento correcto y normal de la base de datos.

(. 1) la TABLA ANALIZAR , la tabla se utiliza para comprobar si la clave correcta. ANALIZAR vuelve tabla de información de estado como se muestra a continuación:

  ANALIZAR LA MESA órdenes;

(2) CHECK TABLE se utiliza para muchas de las cuestiones sobre la mesa para el registro . El índice también comprobar en tablas MyISAM. TABLA Chack es compatible con una variedad de maneras para tablas MyISAM. cheques cambiado desde la última inspección tabla alterada. EXTENDIDO realizar el examen más a fondo, FAST comprobar no sólo la mesa de cierre normal, MEDIO comprobar todos los enlaces eliminados y prueba clave, rápidas sólo una exploración rápida. El siguiente fue encontrado con CHECK TABLE y solucionar el problema:

  órdenes de pedido, tabla de verificación;

(3) Si un acceso tabla MyISAM producir resultados erróneos e inconsistentes, puede que tenga que fijar TABLA uso reparar la tabla correspondiente. Esta declaración debe ser utilizado con poca frecuencia, si se requiere el uso frecuente puede tener mayores problemas a resolver.

(4) Si una gran cantidad de datos eliminados de una tabla, OPTIMIZE TABLE se debe utilizar para recuperar el espacio utilizado para optimizar el rendimiento de la mesa.

 

 

problemas de inicio de diagnóstico:

problema en el servidor de inicio se produce normalmente cuando se realizan cambios en la configuración o al propio servidor MySQL. MySQL informa de un error cuando se produjo el problema, sino porque la mayor parte del servidor MySQL se activa automáticamente como un proceso del sistema o servicio, estos mensajes no se puede ver.

 

opciones de línea de comando mysqld:

  --Help Muestra ayuda --------- una lista de opciones.

  -Mode --safe carga restando cierta configuración preferida del servidor.

  --verbose mensaje de texto de visualización presentes (a fin de obtener --help mensaje de ayuda más detallada se utiliza en combinación);

  --version visualización de información de la versión y sale a continuación.

 

 

Ver el archivo de registro:

MySQL para mantener una serie de administrador del archivo de registro dependiente. Los principales archivos de registro son los siguientes.

Registro de errores: Contiene los problemas de inicio y apagado y ningún detalle de errores críticos. Este registro se denomina habitualmente hostname.err, ubicado en el directorio de datos. Este nombre está disponible de registro --log-error de opciones de línea de comandos para cambiar.

 

Registro de consultas: Registra todas las actividades de MySQL , es muy útil en el diagnóstico de problemas. Este archivo de registro puede convertirse rápidamente en muy grande, así que no debe ser a largo plazo el uso. Este archivo de registro normalmente nombrado hostname.log, ubicado en el directorio de datos. Este nombre se puede utilizar cambio de opción de línea de comandos --log.

 

Binary Log: Se registra los datos actualizados (o, posiblemente, actualiza los datos) de todas las declaraciones. Este registro lo general se denomina nombre de host-bin, que se encuentra dentro del directorio de datos. Este nombre se puede utilizar --log-bin opciones de línea de comandos para cambiar.

 

registro de consultas lentas: Este registro registra para realizar cualquier consulta lenta. Este registro en la determinación de la necesidad de optimizar la base de datos cuando sea útil. Este registro lo general se denomina nombre de host-slow.log, ubicado en el directorio de datos. Este nombre se puede utilizar --log-slow-queries opciones de línea de comandos para cambiar.

 

Cuando se utilizan los registros, la declaración FLUSH LOGS se puede utilizar para actualizar y reiniciar todos los archivos de registro.

 

 

 

3. Mejorar el rendimiento

(1) En primer lugar, MySQL (como todos los DBMS) tiene recomendaciones específicas de hardware.

(2) En general, el DBMS clave de producción debe ejecutar en su propio servidor dedicado.

(3) MySQL es una serie de ajustes por defecto pre-establecido, a partir de estos parámetros son generalmente buenos. Pero después de algún tiempo es posible que tenga que ajustar la asignación de memoria, tamaño de búfer. (Ver ajustado en ese momento, el uso SHOW VARIABLES, y SHOW STATUS;).

(4) un MySQL multi-usuario multi-roscado el DBMS , que suele realizar múltiples tareas al mismo tiempo. Si uno de la lenta ejecución de estas tareas, todas las solicitudes serán ejecutadas lentamente. Si experimenta significativa mal desempeño, se puede usar SHOW PROCESSLIST Mostrar todos los procesos activos (y su ID del hilo y tiempo de ejecución). También puede utilizar el extremo de un comando KILL proceso particular (para utilizar este comando requiere inicio de sesión como administrador).

(5) siempre se escribe en la misma instrucción SELECT es más de una forma. Debemos probar enlaces y sub-consulta para averiguar la mejor manera.

(6) El uso EXPLAIN MySQL permite a explicar cómo se va a ejecutar una instrucción SELECT.

(7) En general, un procedimiento almacenado que una declaración de MySQL ejecuta cada bloque en el mismo.

(8) debe utilizar siempre el tipo de datos correcto.

(9) Nunca recuperar los datos incluso más que la demanda. En otras palabras, no use SELECT * (a menos que realmente se necesita cada columna).

(10) Algunas operaciones (incluyendo INSERT) apoya una palabra clave RETRASO opcional, si lo usa, será devolver el control a la persona que llama de inmediato, y una vez que es posible llevar a cabo realmente la operación.

(11) cuando la importación de datos, debe ser cerrado comprometida automáticamente. También es posible que desee eliminar el índice (incluyendo índice FULLTEXT) y, a continuación, reconstruirlos después de la importación.

(12) tiene una tabla de base de datos de índice para mejorar el rendimiento de la recuperación de datos. instrucción SELECT para ser analizado para determinar el índice utilizado para encontrar duplicados WHERE y ORDER BY cláusulas. Si un simple cláusula WHERE para devolver los resultados tomar demasiado tiempo, se puede concluir que la columna (o varias columnas) está sujeto a índice utilizado en el mismo.

(13) instrucción SELECT que tiene un complejo conjunto de condiciones OR haces? Mediante el uso de varias instrucciones SELECT y los conecta declaración de la Unión, se puede ver mejoras significativas en el rendimiento.

(14) el índice para mejorar la recuperación de los datos de rendimiento, pero la inserción de datos de daños, el rendimiento de eliminación y actualización. Si hay algunas mesas, son a menudo no buscó a los datos de cobro revertido, no indice antes de que sea necesario. (Los índices se pueden añadir y eliminar según sea necesario).

(15), como muy lento. En general, lo mejor es utilizar en lugar de FULLTEXT similares.

(16) La base de datos está cambiando constantemente entidad. Una mesa bien optimizado por un tiempo, probablemente irreconocible. Desde el cambio y el uso de la tabla de contenido, la optimización de la configuración ideal y cambiarán.

(17) La regla más importante es que cada regla en ciertas condiciones se romperá.

 

Supongo que te gusta

Origin www.cnblogs.com/cjj-ggboy/p/12546367.html
Recomendado
Clasificación