Em sua talk, Alexandre “Taz” tratou sobre o uso do JSON Datatype para diminuir a complexidade da aplicação, reduzir a complexidade das buscas, e diminuir a necessidade de conhecimento tecnológico para a aplicação.
« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »
Se você for um usuário iniciante de MySQL, provavelmente vai esbarrar com a necessidade de fazer algum tuning no servidor para melhorar a performance e vai ficar na dúvida de onde iniciar. Alguns ajustes básicos podem ser antecipados, já no momento da instalação do servidor, sendo o principal innodb_buffer_pool_size.
O InnoDB Buffer Pool é a principal área da memória usada pelo InnoDB, que é o storage engine default do MySQL. O ideal é que haja neste buffer espaço suficiente para os dados “mais quentes”. A quantidade de memória que o MySQL vai reservar para o Buffer Pool é controlada pela variável de sistema innodb_buffer_pool_size.
Após a instalação do MySQL, o valor padrão da variável de sistema innodb_buffer_pool_size é de 128 MB (versão 5.7), o que é bem baixo para os hardwares atuais. Você pode verificar qual atual configurado no seu MySQL com o comando:
mysql> SHOW GLOBAL VARIABLES …[Leia mais]
Meu último post referente a backups foi a bastante tempo atrás. Embora ainda válido, não é aconselhável para ser utilizado como backup diário, então resolvi mostrar uma outra opção, o XtraBackup.
Com XtraBackup, você pode realizar backups sem interromper
leituras e escritas (ele requer lock por um período bem curto de
tempo para pegar coordenadas do binlog).
Hoje vou mostrar como realizar backup completos utilizando a
ferramenta.
Instalação:
Para realizar a instalação, eu aconselho utilizar os repositórios para Yum / Apt-get:
Centos / Redhat:
sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm sudo yum …[Leia mais]
Meu último post referente a backups foi a bastante tempo atrás. Embora ainda válido, não é aconselhável para ser utilizado como backup diário, então resolvi mostrar uma outra opção, o XtraBackup.
Com XtraBackup, você pode realizar backups sem interromper
leituras e escritas (ele requer lock por um período bem curto de
tempo para pegar coordenadas do binlog).
Hoje vou mostrar como realizar backup completos utilizando a
ferramenta.
Instalação:
Para realizar a instalação, eu aconselho utilizar os repositórios para Yum / Apt-get:
Centos / Redhat:
sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm sudo yum …[Leia mais]
A replicação permite que você mantenha facilmente várias cópias dos dados do MySQL. Ele é obtido através dos dados do contêiner mestre sendo copiados automaticamente para um ou mais bancos de dados escravos.
Ter seus dados armazenados em vários contêineres de banco de dados pode ser muito útil para melhorar o desempenho, executar serviços de backup, analisar informações e aliviar falhas do sistema.
Podem ser destacados os seguintes casos de uso para implementação de replicação MySQL:
- Soluções de escalabilidade – melhorando o desempenho espalhando a carga entre vários escravos onde todas as leituras ocorrem, enquanto todas as escritas e atualizações ocorrem no banco de dados mestre
- Backups – executando backups no escravo sem …
Apesar da maioria das consultas feitas por quem está começando em SQL ser com SELECT externos, nesse artigo vou apresentar um recurso bastante útil que vai ajudar você a melhorar a legibilidade da sua query assim como, em alguns casos, otimizar o tempo do retorno das suas informações para o usuário. As chamadas subconsultas.
Uma subconsulta nada mais é do que uma instrução SELECT dentro de outro SELECT que retorna algumas colunas específicas que são usadas em algumas funções como INSERT e UPDATE por exemplo.
1. Tipos de subconsultas
Segue abaixo os tipos de subconsultas:
- Subconsultas de uma única linha: retornam zero ou uma linha para a instrução SQL externa;
- Subconsultas de várias linhas: retornam uma ou mais linhas para a SQL externa;
- Subconsultas de várias colunas: retornam mais de uma coluna …
O MySQL tem um bom mecanismo de pesquisa de texto completo, mas quando você tenta usar pesquisas de texto completo e, ao mesmo tempo, tem o aplicativo atualizando o banco de dados, isto pode ser muito lento porque atualizar os índices deixa mais lento o resto dos acessos de banco de dados.
Muitas vezes, é mais rápido indexar os dados a serem pesquisados com um banco de dados separado.
A Elastic search é um mecanismo independente para indexação e pesquisa de dados usando uma API REST.
Esta classe pode indexar e pesquisar registros MySQL usando o Elastic Search. Desta forma, você pode fornecer uma pesquisa de texto completo em dados em um banco de dados MySQL sem sobrecarregar o servidor MySQL principal.
O pacote PHP Elastic Search para MySQL é um dos poucos pacotes do PHP que …
[Leia mais]Há um tempo, meu amigo Frank de Jonge me contou que conseguiu aumentar a performance em uma importação de 10h para 16 minutos. De acordo com ele, as alterações envolviam campos que eram muito longos que armazenavam pequenas strings, o número de índices e de chaves estrangeiras nas tabelas. Estamos falando de pelo menos 1 milhão de registros aqui, e ele estava se perguntando se era possível ter uma importação ainda mais rápida.
Existem várias maneiras de se importar informações para um banco de dados. Tudo depende da origem e o destino. Um pouco mais de contexto para melhor entendimento: você poderia retirar dados de uma aplicação legada que exporta dados em CSV para seu servidor de banco de dados ou até mesmo dados de …
[Leia mais]Desde que o PHP 7 foi lançado e o suporte para o PHP 5 foi encerrado, muitas empresas de hospedagem tiraram o PHP 5 de seus servidores, e desenvolvedores PHP foram forçados a migrar seu código para funcionar com PHP 7.
Uma das mudanças do PHP 7 foi a descontinuação da extensão original do MySQL. Os desenvolvedores tiveram que optar por migrar seu código para usar o MySQLi ou e a extensão PDO.
Leia este artigo para saber sobre as diferenças e decidir qual é o melhor para você migrar seu código para trabalhar no PHP 7 ou posterior, bem como aprender sobre alguns pacotes recomendados que usam PDO ou MySQLi para executar propósitos comuns de banco de dados, como backup, segurança, registro de usuário e login, abstração de banco de dados, ORM (Object-Relational Mapping) etc.
1 – PDO versus MySQLi …
[Leia mais]Neste artigo, vou mostrar como podemos obter o ID do último registro inserido no banco de dados MySQL.
Eu já mostrei como recuperar o ID do último registro inserido no MS Access e no SQL Server nestes artigos:
- Obtendo o último registro inserido (MS Access) – Macoratti.net
- Retornado o valor do campo Identity (SQL Server) – Macoratti.net
Vamos fazer a mesma coisa para o MySQL.
Então, como obter o ID do último registro inserido no banco de dados MySQL? A resposta é:a depende… Sim, vai depender de como e quando você precisa obter essa informação.
Você deseja obter o último registro inserido ou o maior existente? Pense bem…
Existem 4 abordagens que você pode usar:
- Obter o …
« Anterior 10 Mais recentes entradas | Próximo 10 Entradas mais antigos »