conhecimentos entrevista sub-tabela MySQL sub-biblioteca

Cena análise
trabalho de desenvolvimento da Web, também, ou grandes quantidades de dados e trabalho de desenvolvimento, conhecimento sub-bibliotecas, sub-tabela, partição, etc. são necessários.
Entrevista, há também pode ser solicitado. No entanto, como um experiente Coder, desconhecido sub-biblioteca de tecnologia sub-mesa tem algumas baixas.
Conceitos básicos
mesa pontos, capaz de resolver os problemas causados pela de mesa única eficiência da consulta de dados excessiva é diminuída;
sub-bibliotecas, o rosto de alta simultâneo de leitura e acesso de gravação, quando o servidor de banco de dados mestre não pode carregar a pressão escreve, independentemente do servidor extensão escravo neste momento seria sem sentido. Neste ponto, você precisa passar estratégia sub-biblioteca de dados para aumentar a capacidade de acesso simultâneo ao banco de dados.
Vantagens, sub-biblioteca, a tecnologia de armazenamento de dados sub-mesa otimizado para reduzir efetivamente a carga sobre o servidor de banco de dados, o tempo de resposta de consulta para encurtar.

Dados Sub-biblioteca, sub-tabela condições de cena de armazenamento

base de dados relacional
arquitectura de mestre-escravo (master-slave)
única tabela a quantidade de dados no nível de milhões
confrontados com acesso simultâneo alta para o banco de dados de
sub-bibliotecas, estratégia de aplicação sub-tabela

Keyword Modulo perceber a via de acesso de dados.
Sub-bibliotecas

Por exemplo
acordo com as funções
da biblioteca do usuário, bibliotecas de produtos ordens bibliotecas, biblioteca e outro log
por região,
cada cidade ou um bibliotecas provinciais semelhantes, tais como: db_click_bj, db_click_sh como
paisagem / tabela de partição horizontal: resolver registros da tabela também grande problema (nível de segmentação)

O principal problema:

mesa única é demasiado grandes problemas de desempenho causados por,
única tabela através de uma única problemas grandes de espaço de servidor causadas.
Um campo por pontos

Tal como: uma tabela de dados de utilizador é dividido em três pontos de fixação anexo Tabela pre_forum_attachment_ [0 | 1 | 2] , e uma tabela de índice de fixação (tid armazenado relação e anexos ID), é determinada de acordo com o anexo TID armazenadas na última tabela parte onde .
Por pontos de data da tabela
de log, tabela de dados a classe estatísticas por ano, mês, dia, pontos de semana tabela. Tais como: as estatísticas de tráfego click_201801, click_201802
alcançados através dos mecanismo de armazenamento MERGE MySQL
necessidades para criar sub-tabelas, tabelas de resumo, tabelas de resumo precisa mecanismo de armazenamento MERGE.
Exemplo de código
Criar log_merge Table (
dt datetime NULL não,
informações VARCHAR (100) NOT NULL,
  índice (dt)
) = Mesclar Motor
União = (log_2017, log_2018) INSERT_METHOD = Último;

Longitudinal / mesa parte vertical: resolver o problema de excessiva coluna (corte vertical)

Verticalmente métodos comuns da tabela são divididos de acordo com a lista de atividades, de acordo com a importância da tabela de pontos e assim por diante.
O principal problema:
entre a mesa e as questões de contenção de recursos de mesa;
a disputa do bloqueio probabilidade pequena,
para alcançar núcleo e non-core armazenamento em camadas, como o desembarque biblioteca UDB é dividido em um dois três bibliotecas;
problema de pressão de sincronização de dados.
estratégias específicas
são muitas vezes uma combinação de consulta colunas da tabela em uma tabela, os campos poderia ser considerado motor de memória comum.
O campo não é frequentemente usado sozinho como uma mesa.
O texto, blob outros grandes campos na programação dividida. Tais como: a tabela do usuário para os principais artigos de mesa e notícias do news_data mesa, título da tabela de memória principal, palavras-chave, páginas vistas, etc., a partir de um conteúdo específico tabela armazenada, modelos, e assim por diante.
sub-mesa Notes-Sub biblioteca
problema dimensão
para os dados de registro de compra do usuário, de acordo com a latitude da tabela de pontos do usuário, em seguida, registros de transações de cada usuário são armazenados na mesma mesa, de forma muito rápida e muito fácil de encontrar compras de um usuário, mas o caso de uma mercadoria a ser comprada pode ser distribuído em várias tabelas, procurar mais problemas.
Se a tabela de pontos por dimensões do produto, fácil de encontrar compras de mercadorias, mas muita dificuldade para encontrar registros de negociação pessoal.
soluções comuns:
para resolver a tabela por forma arrebatadora, muito ineficiente, não é viável.
Dois registos de dados, de acordo com uma sub-tabela de utilizador latitude, uma tabela parcial, de acordo com as dimensões do produto.
Pelos motores de busca para resolver, mas se o requisito de tempo real é alta, o problema envolve a pesquisa em tempo real.
Evite sub-tabela de junção operações. As tabelas associadas podem não ter a mesma base de dados.
Evite transações entre bancos de dados
para evitar modificações em um DB0 transação, db1 na tabela, não só complicado de operar, mas também afetam a eficiência.
Muitos não menos desejável mesa parte, este último pode impedir a divisão secundária.
Tente o mesmo conjunto de dados unificadas servidor DB. Por exemplo, um vendedor de produtos e informações comerciais em DB0, quando db1 desligou quando algo relacionado a um vendedor pode ser usado normalmente. Isto é, uma pluralidade de dados na base de dados para evitar a dependência.

As referências
mysql rapidamente inserção de dez milhões de dados de teste fazendo prós modo de dados e contras :. Https://www.2cto.com/database/201603/493032.html
método de dados de ensaio de um milhão mysql feita rapidamente inserção de dados. os outros três métodos estão resumidos: https://www.cnblogs.com/endtel/p/5404065.html
sub-quadro e para alcançar um exemplo da base de dados mysql simples :. https://www.cnblogs.com/miketwais/articles/mysql_partition.html
mysql exemplo completo de sub-biblioteca de sub-mesa e o código php código de operação php real para :. https://blog.csdn.net/nuli888/article/details/52143065
do mySQL - a leitura e gravação em separado sobre Amoeba: HTTPS: // www .2cto.com / banco de dados / 201610 / 555777.html

Acho que você gosta

Origin www.cnblogs.com/weigy/p/12564100.html
Recomendado
Clasificación