Ajuste del rendimiento de mysql (2)

Prefacio

  A partir del último artículo , comenzamos a presentarles la parte de optimización de mysql. El último artículo primero le presentó la instalación y configuración de mysql en Linux, y luego le presentó el contenido relacionado del índice, que incluye: una descripción general del índice, las ventajas y desventajas del índice, y también le presentó el índice. El principio subyacente del motor de almacenamiento y el índice es la diferencia y la conexión entre el árbol B + y el árbol B. Finalmente, presento la clasificación, creación, modificación y visualización y eliminación de índices. La introducción final es algunos de los principios fundamentales que estamos creando índices.
  El siguiente artículo le presenta el conocimiento de las vistas, incluyendo principalmente los conceptos básicos de vistas, creando o modificando vistas a la vista final. La otra introducción es el contenido relacionado de los disparadores, que incluye principalmente conceptos relacionados de disparadores, creación de tablas de registro, inserción, modificación y eliminación de disparadores.
  A continuación, presentaré el contenido relacionado con la vista.

Una vista

1. Ver descripción general

  La vista es en realidad una especie de mesa virtual. La vista no existe realmente en la base de datos. Los datos de fila y columna se derivan de la tabla utilizada en la consulta que define la vista y se generan dinámicamente cuando se usa la vista. En términos sencillos, una vista es el conjunto de resultados que se devuelve después de que se ejecuta una instrucción de selección. Entonces, cuando creamos la vista, el trabajo principal es crear esta declaración de consulta SQL.
  En comparación con las tablas ordinarias, las vistas tienen las siguientes ventajas:

  • Simple : El usuario que usa la vista no necesita preocuparse por la estructura de la tabla correspondiente, las condiciones asociadas y las condiciones del filtro, para el usuario es el conjunto de resultados de las condiciones compuestas filtradas.
  • Seguridad : Los usuarios que usan vistas solo pueden acceder a los conjuntos de resultados que tienen permitido consultar. La administración de autoridad de la tabla no puede restringirse a una determinada fila o columna, pero se puede implementar fácilmente a través de la vista.
  • Independencia de los datos : una vez que se determina la estructura de la vista, se puede proteger el impacto de los cambios en la estructura de la tabla en los usuarios. Agregar columnas en la tabla de origen no tiene ningún efecto en la vista; la modificación de los nombres de las columnas de la tabla de origen se puede solucionar modificando la vista, lo que no dañará a los visitantes influencias.

2. Cree o modifique vistas

  A continuación, le presentaremos la creación y modificación de vistas. Primero, le presentaremos la creación de vistas. La sintaxis para crear una vista es la siguiente:

create [or replace] [algorithm = {
   
   undefined | merge | temptable}]
view view_name [(column_list)]
as select_statement
[with [cascaded | local] check option]

  A continuación, les presentaré para modificar la vista. La sintaxis para modificar la vista es la siguiente:

alter [algorithm = {
   
   undefined | merge | temptable}]
view view_name [(column_list)]
as select_statement
[with [cascaded | local] check option]

  Lo que necesita atención aquí es presentarle las opciones relacionadas correspondientes en la gramática;

  • con opción de verificación [en cascada | local] : Determina si se permite la actualización de los datos para que el registro ya no cumpla con las condiciones de la vista.
  • local : se puede actualizar siempre que se cumplan las condiciones de esta vista.
  • en cascada : todas las condiciones para todas las vistas de esta vista deben cumplirse antes de que puedan actualizarse.

  Usamos un caso para crear y modificar la vista. La tabla y los datos específicos son los datos del artículo anterior . La declaración SQL específica es la siguiente:

create or replace view city_country_view
as
select t.*, c.country_name from country c, city t where c.country_id = t.country.id;

3. Ver la vista

  Le he presentado antes para modificar y crear vistas, y le muestro cómo crear y modificar vistas en la práctica. A continuación, le presentaré el contenido relacionado de la vista de vista.
  De hecho, a partir de la versión mysql5.1, cuando se usa el comando show tables , no solo se muestra el nombre de la tabla, sino que también se muestra el nombre de la vista.No hay un comando show views que muestre la vista por separado . Los comandos específicos son los siguientes:

show tables;


  Además, cuando se utiliza el comando show table status , no solo se puede mostrar la información de la tabla, sino que también se puede realizar la información de la vista.

show table status

4. Eliminar la vista

  Finalmente, les presentaré la vista eliminada. La sintaxis específica es la siguiente:

drop view [if exists] view_name [, view_name]...[restrict | cascade];

  Les presenté un ejemplo de cómo eliminar una vista. La vista city_country_view que creamos anteriormente elimina la vista; el contenido específico es el siguiente:

drop view city_country_view;

Segundo, el gatillo

  Le he presentado el contenido relacionado de la vista, incluida la descripción general de la vista y las operaciones relacionadas con la creación, modificación, visualización y eliminación de la vista. A continuación, le presentaré el contenido relacionado de los disparadores, incluidos los conceptos básicos de disparadores y la creación de disparadores. Elimine disparadores, vea disparadores y otro contenido relacionado. Primero, presentaré el contenido básico de los disparadores.

1. Conceptos básicos de desencadenantes

  Trigger es un objeto de base de datos relacionado con la tabla, que se refiere al conjunto de sentencias SQL definidas en el disparador y ejecutadas antes o después de insertar / actualizar / eliminar. Esta característica de los disparadores puede ayudar a las aplicaciones a garantizar la integridad de los datos, el registro, la verificación de datos y otras operaciones en el lado de la base de datos. Utilice los alias OLD y NEW para hacer referencia al contenido del registro modificado en el activador, que es similar a otras bases de datos. Los activadores actuales solo admiten activadores de nivel de fila, no activadores de nivel de instrucción. Los tipos de disparadores específicos se utilizan de la siguiente manera:

2. Crea un disparador

  A continuación, presentaré la estructura sintáctica de la creación de disparadores:

create trigger trigger_name
before/after insert/update/delete
on tb1_name [for each row]
trigger_stmt;

  Después de introducir la sintaxis de creación de disparadores, pasemos un caso para crear los disparadores correspondientes. Los requisitos de este caso son los siguientes:

  El registro de cambios de datos de la tabla emp se registra a través de activadores, incluida la adición, modificación y eliminación.

  Por lo tanto, primero creamos una tabla de registro

create table emp_logs(
	id int(11) not null auto_increment,
	operation varchar(20) not null commit '操作类型, insert/update/delete',
	operate_time datetime not null comment "操作时间",
	operate_id int(11) not null comment "操作表的ID",
	operate_params varchar(500) comment "操作参数",
	primary key(`id`)
)engine=innodb default charset=utf8;

  Creamos un disparador en la tabla creada y registramos el registro de cambios de datos emp_logs de la tabla emp a través del disparador, incluida la adición, modificación y eliminación. Las declaraciones específicas son las siguientes:

create trigger emp_insert_trigger
after insert on emp
for each row
begin
	insert into emp_logs(id, operation, operate_time, operate_id, operate_params)
	values(null, 'insert', now(), new.id, concat('插入后(id:', new.id, ',name', new.name,', age:', new.age, ', salary: ', new.salary, ')'));
end$

create trigger emp_update_trigger
after update on emp
for each row
begin
	insert into emp_logs(id, operation, operate_time, operate_id, operate_params)
	values(null, 'update', now(), new.id, concat('修改前(id:', old.id, ',name', old.name,', age:', old.age, ', salary: ', old.salary, ')', '修改后(', new.id, ',name', new.name,', age:', new.age, ', salary: ', new.salary, ')'));
end$

create trigger emp_update_trigger
after delete on emp
for each row
begin
	insert into emp_logs(id, operation, operate_time, operate_id, operate_params)
	values(null, 'delete', now(), old.id, concat('删除前(id:', old.id, ',name', old.name,', age:', old.age, ', salary: ', old.salary, ')'));
end$

3. Eliminar el disparador

  Presenté la creación y modificación de disparadores. A continuación, presentaré la estructura sintáctica de la creación de disparadores:

drop trigger [schema_name.]trigger_name

  De hecho, si no se especifica schema_name, el valor predeterminado es la base de datos actual.

4. Ver el disparador

  Anteriormente introdujo la creación, eliminación y modificación de desencadenantes, y luego observe los desencadenantes. Podemos ver el estado, la sintaxis y otra información del disparador ejecutando el comando show triggers .

show trigger;

para resumir

  A partir del último artículo , le presentaré la optimización del rendimiento de mysql. Este artículo presenta el contenido relacionado de las vistas y los disparadores. Las vistas incluyen principalmente los conceptos básicos de vistas, la creación y modificación de vistas, así como la visualización y eliminación de vistas. Además, le presentaré los disparadores, que presentan principalmente los conceptos básicos de disparadores y las diversas operaciones de creación, eliminación y visualización de disparadores. Por lo tanto, mysql es una habilidad muy importante. Casi todos los trabajos en la computadora necesitan una habilidad de mysq. Por lo tanto, necesitamos un dominio especial. La vida es interminable y la lucha es interminable Trabajamos duro todos los días, estudiamos mucho, mejoramos constantemente nuestras habilidades y creemos que aprenderemos algo. ¡Venga! ! !

Supongo que te gusta

Origin blog.csdn.net/Oliverfly1/article/details/109273428
Recomendado
Clasificación