Displaying posts with tag: Banco de dados (reset)
Replicação Mestre-Escravo MySQL escalável em contêineres Docker

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 …
[Leia mais]
Como fazer subconsultas: um passo a passo

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 …
[Leia mais]
Importando dados rapidamente no MySQL.md

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.

O básico

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]
Diferenças – MySQLi versus PDO versus MySQL, Benchmark para Comparação de desempenho, Segurança e Conversão que funciona em 2016 e 2017

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]
C# – Obtendo o ID do último registro inserido no banco de dados MySQL

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:

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 …
[Leia mais]
Uso eficiente do mysqli_result::$num_rows

Eu frequentemente vejo esse padrão em aplicativos herdados usando mysqli:

$result = $mysqli->query("
    SELECT *
    FROM table_name
    WHERE conditions = 'whatever'
");
if ($result && $result->num_rows > 0) {
    return;
}

A intenção do desenvolvedor aqui é ver se existem quaisquer linhas no banco de dados que correspondam a uma determinada condição. Ele faz isso emitindo uma consulta. Em seguida, perguntando ao objeto do resultado quantas linhas ele tem. O desenvolvedor não quer realmente nenhum dado do resultado e não se preocupa com a contagem de linha em si; esta é apenas uma verificação para ver se ao menos uma linha existe no banco de dados.

Esta é uma má conservação de recursos. O banco de dados faz o trabalho necessário para selecionar todas as colunas para todas as linhas que correspondem às condições, aloca memória para elas e as retorna. Mas o desenvolvedor descarta tudo …

[Leia mais]
Atualização no Amazon Aurora: chame funções Lambda a partir de procedimentos armazenados; carregue dados do S3

Muitos serviços da AWS funcionam muito bem por si só, mas são ainda melhores juntos! Este aspecto importante do nosso modelo permite que você selecione um único serviço, aprender sobre ele, obter alguma experiência com ele, e, em seguida, estender o seu espaço para outros serviços relacionados com o tempo. Por outro lado, as oportunidades para fazer com que os serviços trabalhem em conjunto estão sempre presentes e nós temos algumas delas no nosso roteiro orientado para o cliente.

Hoje eu gostaria de falar sobre dois novos recursos para o Amazon Aurora, o nosso banco de dados relacional compatível com MySQL:

Invocação de Funções Lambda – Os procedimentos armazenados que você cria dentro dos seus bancos de dados Amazon Aurora pode agora podem invocar funções …

[Leia mais]
Chame funções Lambda a partir de procedimentos armazenados

Muitos serviços da AWS funcionam muito bem por si só, mas são ainda melhores juntos! Este aspecto importante do nosso modelo permite-lhe selecionar um único serviço, aprender sobre ele, obter alguma experiência com ele, e, em seguida, estender o seu espaço para outros serviços relacionados com o tempo. Por outro lado, as oportunidades para fazer com que os serviços trabalhem em conjunto estão sempre presentes e nós temos algumas delas no nosso roteiro orientado para o cliente.

Hoje, eu gostaria de falar sobre dois novos recursos para o Amazon Aurora, o nosso banco de dados relacional compatível com MySQL:

  • Invocação de Funções Lambda – Os procedimentos armazenados que você cria dentro dos seus bancos de dados Amazon Aurora pode agora podem invocar …
[Leia mais]
Amazon RDS para SQL Server – Suporte para Backup/Restauração Nativos para Amazon S3

Os leitores regulares dos meus artigos sabem que eu sou um grande fã do Amazon Relational Database Service (RDS). Como um serviço de banco de dados gerenciado, ele cuida dos aspectos mais rotineiros de configuração, operação e a escalabilidade de um banco de dados relacional.

Nós lançamos suporte para SQL Server em 2012. Continuando o nosso esforço para adicionar recursos que incluíram o suporte para SSL, as principais atualizações de versão, …

[Leia mais]
Visual Basic 6 – Conexão com MySQL via ODBC – Parte 02

No artigo de hoje, vou mostrar como realizar a conexão com o banco de dados MySQL usando um driver ODBC em uma aplicação Windows, usando a linguagem Visual Basic 6.

Na primeira parte do artigo definimos o banco de dados e a tabela do MySQL, instalamos o driver ODBC e criamos uma fonte de dados ODBC.

Agora já temos tudo pronto para poder acessar os dados no MySQL usando o Visual Basic 6.

Vamos, então, definir o projeto VB6 e acessar os dados em um projeto Windows Forms usando os componentes ADODC e DataGrid.

Recursos usados:

  • Visual Basic 6
  • MySQL Commumity Edition  (Estou usando a versão 5.3)
  • MySQL …
[Leia mais]