Motor de armazenamento:
As funções do MYSQL são divididas em dois tipos:
Um: conecte o cliente e verifique o conteúdo da instrução SQL com antecedência, ou seja, a parte de primeiro plano
Dois: De acordo com as instruções da parte de primeiro plano, complete as funções de consulta e operação de arquivo, ou seja, a parte de segundo plano. Essa parte de back-end é chamada de mecanismo de armazenamento.
Tipos de mecanismos de armazenamento:
MYSQL pré-configura vários mecanismos de armazenamento, os usuários podem escolher de acordo com a finalidade de uso e preferência pessoal. A existência de mecanismos independentes entre si e que permitem aos usuários escolher de forma independente é a característica do MYSQL.
O mecanismo InnoDB é usado por padrão. Mas em versões até MYSQL5.4, o mecanismo de armazenamento padrão é MyISAM. Embora o MyISAM fosse mais rápido que o InnoDB na época, infelizmente ele não suportava transações.
Mas agora a velocidade de processamento do InnoDB também se tornou rápida, então não precisamos usar o MyISAM.
Confirme o mecanismo de armazenamento:
show create table tb;
Podemos confirmar o mecanismo de armazenamento na seção ENGINE=XX.
Ao criar uma tabela, se nenhum mecanismo de armazenamento for especificado, o InnoDB padrão será selecionado.
Modifique o mecanismo de armazenamento:
Exemplo: Altere o mecanismo de armazenamento da tabela tb de InnoDB para MyISAM
alter table tb engine=MyISAM;
Transações: A capacidade de processar várias operações como uma única unidade lógica de trabalho é chamada de transação.
A operação de refletir o resultado do processamento após o início da transação no banco de dados é chamada de confirmação.
Uma operação que não é refletida no banco de dados, mas é restaurada ao seu estado original, é chamada de reversão.
Exemplo: Em uma conta bancária, as operações de dedução de 100.000 yuans e adição de 100.000 yuans devem ser tratadas como um todo inseparável.
Se a operação de adição de 100.000 yuan falhar, a operação de dedução de 100.000 yuan também deve ser cancelada.
Transação aberta:
start transaction;
delete from tb;
rollback;
Depois que a tabela é eliminada, ela é revertida (restaurada) e os registros excluídos podem ser restaurados.
Quando uma reversão é executada, a transação é fechada.
No exemplo acima, se o commit for executado em vez do rollback, os registros excluídos serão confirmados e todos os registros serão excluídos pelos registros do usuário.
Função de auto-commit: Executa comandos em MYSQL e o processamento geralmente é enviado diretamente. Ou seja, todos os comandos COMMIT automaticamente.
Por padrão, o autocommit está ativado. No entanto, quando o mecanismo de armazenamento é INNODB, se a transação inicial for executada, ela não será confirmada antes que o comando de confirmação seja executado.
Os usuários podem forçar a desativação do autocommit. Se a função auto-commit estiver desativada, mesmo que a instrução SQL seja executada, ela não será confirmada automaticamente, devendo ser confirmada por COMMIT ou restaurada por rollback.
Desative o autocommit:
set autocommit=0;
Para habilitar o envio automático:
set autocommit=1;
Escopo de uso das transações:
Depois que uma transação é iniciada, nem todas as operações podem ser recuperadas por reversão.
As seguintes operações serão enviadas automaticamente