Conclusões sobre o banco de dados

escolha 1.mysql motor

1. Verifique o banco de dados atual suportado tipo
Show de
2. pesquisa motor de mesa
Show Table Estado de DB1;
. 3 consulta tabela específica motor
show status tabela do DB1, onde name = 'estudante';

Após o padrão do MySQL InnoDB 1,5

criar dastabase se não existe db1 conjunto de caracteres utf8;

Tabela SE EXISTE Student Não Criar (
ID int chave primária anto_increment, nome VARCHAR (20 é)) = Motor MyISAM;
modificar a tabela mecanismo de armazenamento
alter motor estudante table = innodb;

Myisam: não suporta transações / chave estrangeira não suporta o / suporte de pesquisa de texto completo e em nível de tabela de bloqueio, bloqueando o outro sozinho para escrever, ler rápido velocidade, economia de recursos, por isso, se o pedido se baseia consulta e inserção de operações, apenas algumas atualizações e operações de exclusão, e a integridade da transação, os requisitos de simultaneidade não são muito elevados, assim que a seleção de mecanismo de armazenamento qualificado é muito apropriado.
InnoDB: mysql é o mecanismo de armazenamento padrão, devido aos serviços de apoio innodb / suportam chaves estrangeiras / bloqueio em nível de linha, o suporte para todos os índices secundários (não suporta a pesquisa de texto completo após 5.5.5), alta em cache, assim, para a integridade das mesmas coisas altas exigências para condições de consistência de dados simultâneos, operações de leitura e gravação freqüentes, o InnoDB mecanismo de armazenamento é a escolha mais adequada, como BBS, sistemas de faturamento, etc. recarga transferência.
memória: todos os dados armazenados na memória RAM, na necessidade de localizar rapidamente os registros e outros ambiente de dados semelhante, pode fornecer acesso mais rápido aos defeitos de memória que limitam o tamanho da tabela, a tabela não pode ser muito grande cache de memória em segundo lugar, temos de assegurar que a tabela de dados podem ser restaurados, os dados na tabela após o término anormal do banco de dados podem ser restaurados, mesa de memória é normalmente atualizada com menos frequência para uma pequena mesa para obter rapidamente acesso aos resultados.

2. Índice

Classificação índice:
de acordo com a classificação funcional:
índice comum: o índice mais básico, ele não tem quaisquer restrições.
O único índice: o valor da coluna índice deve ser único, mas permitir valor livre, se é um índice composto, em seguida, a combinação de valores da coluna deve ser único.
índice de chave primária: um índice exclusivo especial, não permite valores nulos, enquanto o índice geral é criado quando a construção da tabela.
índice composto: um índice único combinado.
índices de chave estrangeira: só suporta mecanismo InnoDB índice de chave estrangeira, usado para garantir a consistência dos dados, a integridade ea operação em cascata.
índice de texto completo: Quick Match todos os sentidos documentos. engine innodb só suporta índice de texto completo depois de 5,6, motor de memória não suporta.

De acordo com a classificação estrutural:
b + árvore índice: mysql estrutura de dados de índice mais frequentemente utilizado é myisam innodb mecanismo de armazenamento e o índice padrão.
índices hash: mysql na memória do motor de armazenamento do índice de inadimplência;

As operações de índice relacionadas com a
consulta do índice:
Mostrar índice de studnet;

Sem consulta do índice:
quando não há nenhuma consulta do índice, a consulta seria menos uma eficiente de dados por um

Adicione o nome do índice geral
criar o índice idx_name no estudante (nome) ;
adicionar um índice exclusivo
Criar UNIQUE índice idx_name ON Student (nome);
(geralmente não, apenas o ID de chave primária)

alter estudante mesa idx_name índice add (nome);

Tree B
B + Tree nós não-folha armazenar apenas valores-chave

criar a tabela se não existe usuário (
nome varchar (10),
varchar endereço (10),
varchar telefone (10));

Adicionando índice comum

alter table user add index idx_three(name,address,phone);

jogo mais à esquerda

sql deve ter um nome

Características da operação

durabilidade isolamento Actomic consistência

bloqueio Categoria

Tabela de funcionamento Categorias:
bloqueios compartilhados:
bloqueios exclusivos:

Por categoria de tamanho:
bloqueio no nível de tabela:
bloqueio ao nível de linha:
de bloqueio ao nível industrial:
(suportes MyISAM bloqueio ao nível de mesa, apoio innodb bloqueio ao nível de mesa, de bloqueio no nível de linha)

Classificação por uso:
bloqueio pessimista:
bloqueio otimista:

开启事务
start transaction;
查询事务,并加锁
(共享锁,其他事务可以查询,不能改
select * from student where id=1 lock in share mode;
//不带索引则锁整张表
select * from student where name='小刘' lock in mode;
//排他锁
select * from student where id=1 for update;
释放锁
commit

myisam não suporta transações, bloqueio direto

//加锁
lock tables student read;
select * from student where id=1;
//解锁
unlock tables;

otimização recomendações de desempenho InnoDB
1. Tente completar a consulta de dados por colunas indexadas, de modo a evitar o InnoDB não adicionar a tabela bloqueio de linha e mais de bloqueio
2. O projeto razoável um índice, para ser tão preciso quanto possível, para reduzir, tanto quanto possível, para evitar desnecessária ela bloqueia.
3. minimizar dados condição de recuperação com base na gama de
4 a controlar o tamanho da operação, tanto quanto possível para reduzir a quantidade de recursos bloqueada e bloquear o comprimento de tempo.
5. Na mesma transação, como fazem todos os recursos quando o bloqueio necessário para reduzir a probabilidade de impasse
6. Por muito propenso a um impasse parte do negócio, você pode tentar atualizar a granularidade de bloqueio, através do nível de tabela tranca para reduzir a geração de impasse.

Publicado 25 artigos originais · ganhou elogios 1 · vista 783

Acho que você gosta

Origin blog.csdn.net/qq_42770949/article/details/104458537
Recomendado
Clasificación