Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo MySQL

Diferença entre SQL, MySQL, PostgreSQL, Oracle e SQL Server: entenda de uma vez por todas

No universo da tecnologia da informação, especialmente no desenvolvimento de sistemas e gestão de dados, é comum surgirem dúvidas como: “SQL é um banco de dados?” , “Qual a diferença entre MySQL e SQL Server?” , ou ainda, “PostgreSQL e Oracle fazem a mesma coisa?” Se você está começando na área de TI ou quer reforçar sua base de conhecimento, este post foi feito para você. Vamos explicar de forma clara e direta as principais diferenças entre SQL, MySQL, PostgreSQL, Oracle e SQL Server , e ajudar você a entender qual solução pode ser mais adequada ao seu projeto ou estudo. O que é SQL? Antes de falarmos dos bancos de dados em si, é importante entender o que é o SQL (Structured Query Language) . O SQL não é um banco de dados, e sim uma linguagem padrão para consulta, manipulação e definição de dados em sistemas de gerenciamento de bancos de dados relacionais (SGBDs) . Essa linguagem é utilizada para criar tabelas, inserir registros, fazer consultas, atualizações e exclusões de dados. Tod...

Otimização de Queries no MySQL: Índices, particionamento e técnicas para performance

Quem trabalha com banco de dados sabe que um sistema lento muitas vezes não está relacionado à infraestrutura, mas sim a consultas SQL mal otimizadas . No MySQL, pequenas alterações na forma como as queries são escritas e como o banco é estruturado podem gerar ganhos significativos de desempenho. Neste post, vamos explorar técnicas fundamentais para melhorar a performance de consultas em bancos de dados MySQL, com foco em índices, particionamento e boas práticas de escrita de queries . Por que otimizar consultas SQL? Otimizar queries não é apenas uma questão de performance, mas de escalabilidade. Uma aplicação que funciona bem com mil registros pode se tornar um gargalo com um milhão. Queries lentas consomem mais CPU, memória e I/O de disco, impactando a experiência do usuário e os custos operacionais da aplicação. Em ambientes com alta concorrência ou sistemas de missão crítica, isso pode ser inaceitável. 1. Índices: o coração da performance no MySQL A criação de índices (ou ...

MySQL storage engines – parte 2

Continuando o meu post anterior ( MySQL storage engines – parte 1 ), onde apresentamos as principais engines de armazenamento do MySQL, são elas: InnoDB, MyISAM, Memory, CSV, Merge, Archive, Federated e Blackhole, vamos agora entender como escolher e mudar. Para visualizar todas as opções de engines suportadas pelo servidor, execute: SHOW ENGINES Nenhum mecanismo de armazenamento é ideal para todas as circunstâncias. Alguns têm melhor desempenho em certas condições e pior desempenho em outras situações. Há compensações que devem ser consideradas. Uma solução mais segura requer mais recursos; pode ser mais lento, levar mais tempo de CPU e espaço em disco. O MySQL é muito flexível no fato de fornecer vários mecanismos de armazenamento diferentes. Alguns deles, como o mecanismo Archive, são criados para serem usados em situações específicas. Em alguns casos, a resposta é clara. Sempre que estamos lidando com alguns sistemas de pagamento, somos obrigados a utilizar a solução mais segura. N...

MySQL storage engines - parte 1

As “engines” de armazenamento do MySQL são módulos de software usados para criar, ler e atualizar dados de um banco de dados. Existem dois tipos de storage engines no MySQL: transaction e non-transactional. Para o MySQL 5.5 ou superior, o padrão de engine é o InnoDB. Nas versões anteriores o padrão era o MyISAM. Escolher a engine correta é uma decisão estratégica, visto que impacta no consumo do recurso e no que esperar de comportamento do banco. Lógico que, para coisas básicas, isso não será um problema. Mas se você está planejando um banco de dados de produção, o ideal é pelo menos entender onde você está pisando e ser um pouco mais criterioso. Para começar, vamos a lista atual de storages suportados: InnoDB MyISAM Memory CSV Merge Archive Federated Blackhole O InnoDB é o mecanismo de armazenamento mais usado com suporte a transações. É um mecanismo de armazenamento compatível com ACID. Ele suporta bloqueio em nível de linha, recuperação de travamento e controle de simultaneidade de ...

Como iniciar, parar e reiniciar o serviço MySQL no Linux

Recentemente fiz um post sobre a instalação do MySQL no Linux , agora vamos falar como verificar o status do serviço e como aplicar os comandos start, stop e restart. Coisas básicas para a manutenção. 1 . Como verificar o status do serviço É importante compreender que, dependendo da versão do Linux, o comando a ser usado pode variar. Em versões mais antigas, utilizamos o comando " service ";  já em versões mais recentes, o comando " systemctl ". Veja os exemplos abaixo: sudo systemctl status mysql ou sudo service mysql status Um retorno semelhante a esse mostra que o serviço está ativo. 2 . Como iniciar o serviço no Linux Novamente importante atentar para a distribuição do linux. Para o Ubuntu ou outras distribuições baseadas no Debian, você usará o comando systemctl, em outras provavelmente o service. Vamos aos exemplos: sudo systemctl start mysql ou sudo service mysql start Importante notar que o comando start pode não gerar output, por isso é importante verificar...

Instalando o MySQL no Linux

A instalação do MySQL no Ubuntu 22.04 (usado neste post, mas os passos servem para outras versões e distribuições) involve alguns passos. Abaixo passo um tutorial com os principais: Passo 1: Update/Upgrade do Package Repository É necessário fazer a atualização do repositório de pacotes do Ubuntu. Veja o comando abaixo: sudo apt update Agora vamos fazer o upgrade para a ultima versão: sudo apt upgrade Passo 2: Instalando o MySQL Com o repositorio atualizado, agora podemos instalar o MySQL. Veja o comando: sudo apt install mysql-server Passo 3: Fazendo as configurações de segurança Depois de instalar o MySQL é recomendado fazer as configurações inicais de segurança. Isso inclui configurar a 'força' da senha, remover contas desnecessárias e também o database de teste. Além de restringir o acesso externo ao root. Seguem os comandos: sudo mysql_secure_installation A primeira configuração que será solicitada é se deseja usar o componente de validação de senhas seguras do MySQL. Basic...

O que é SQL ?

SQL (structured Query Language) é um conjunto de comandos de manipulação de banco de dados utilizado para criar e manter a estrutura desse banco de dados, além de incluir, excluir, modificar e pesquisar informações nas tabelas dele. A linguagem SQL não é uma linguagem de programação autônoma; poderia ser chamada de “sub linguagem”. Quando se escrevem aplicações para banco de dados, é necessário utilizar uma linguagem de programação tradicional (C, C#, Java, ASP, PHP, etc…) e embutir comandos SQL para manipular os dados. Em um modelo relacional, apenas uma tipo de estrutura de dados existe: a tabela. Novas tabelas são criadas com a junção ou combinação de outras tabelas. Utilizando apenas um comando SQL é possível pesquisar dados em diversas tabelas ou atualizar e excluir diversas linhas das mesmas. A linguagem SQL não é procedural, logo é possível especificar o que deve ser feito, e não como deve ser feito. Dessa forma, um conjunto de linhas (set) será atingido pelo comando e não cada ...

Contar caracteres no MySQL

Vamos fazer uso das funções da linguagem SQL para contar caracteres de um campo salvo em uma tabela. Ou seja, vamos selecionar diversos registros de uma tabela e contar os caracteres de um de seus campos. No MySQL temos várias funções para contar caracteres: LENGTH(cadeia) – comando também existente no Oracle Recebe uma cadeia , conta e retorna o número de caracteres. CHARACTER_LENGTH(cadeia)  Recebe também uma cadeia e retorna o número de caracteres contados. CHAR_LENGTH(cadeia) É um sinônimo de CHARACTER_LENGTH. Embora nem todas as versões de MySQL o tenham. A diferença entre LENGTH e CHARACTER_LENGTH é que em CHARACTER_LENGTH um caractere “multibyte” conta como um só caractere. Em LENGTH conta o número de bytes da cadeia. Assim, no caso de ter uma cadeia com 5 caracteres que ocupam 2 bytes cada um, LENGTH retornaria 10 e CHARACTER_LENGTH só 5. Por enquanto vamos utilizar CHARACTER_LENGTH, ela devolverá os resultados que esperamos obter, o número de caracteres da cadeia, independ...

Diferença entre banco de dados, instância, schema, tablespaces e etc.

Vamos a um pouco de teoria de banco de dados. Tenho certeza que será muito útil para os universitários. 🙂 No mundo da tecnologia e gerenciamento de informações, os bancos de dados desempenham um papel vital. Um banco de dados, ou base de dados, é um conjunto organizado de registros que oferece a capacidade de reorganização e extração de informações. Normalmente, os registros em um banco de dados são agrupados para servir a um propósito comum. A gestão de um banco de dados é tipicamente realizada por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Exemplos notáveis de SGBDs incluem o Oracle, MySQL, SQL Server e PostgreSQL. É importante notar que, às vezes, o termo “banco de dados” é erroneamente usado como sinônimo de SGBD. No contexto atual, o modelo de dados mais amplamente adotado é o modelo relacional, no qual as informações são organizadas em tabelas compostas por linhas e colunas. Instâncias: A Máquina Cerebral do Banco de Dados Quando se trata de...