Ordem de Execução de Consultas SELECT no MySQL
No MySQL, a ordem de execução de uma consulta SELECT não corresponde à ordem sintática. Este artigo detalha o processamento interno, ilusttrado com tabelas virtuais durante a execução.
Ordem Sintática das Palavras-chave SELECT
SELECT DISTINCT <lista_colunas>
FROM <tabela_esquerda>
<tipo_juncao> JOIN <tabela_direita>
ON & ...
Publicado em 6-26 18:15
Técnicas de Otimização de Consultas SQL para Desempenho de Banco de Dados
Práticas Recomendadas para Otimização de Consultas SQL
Este artigo apresenta 30 dicas práticas para otimizar consultas SQL, focando em melhorar a performance em bancos de dados relacionais como MySQL.
Selecione Apenas Colunas Necessárias
Em vez de usar SELECT *, especifique colunas específicas para reduzir consumo de recursos e evitar consul ...
Publicado em 6-26 16:27
Integração e Configuração do MyBatis-Plus com Spring Boot
Preparação do Banco de Dados
Para iniciar, definiremos a estrutura da tabela usuario e popularemos com alguns dados iniciais para fundamentar as operações subsequentes.
DROP TABLE IF EXISTS usuario;
CREATE TABLE `usuario` (
`id_usuario` bigint NOT NULL AUTO_INCREMENT COMMENT 'Chave primária',
`nome` varchar(50) DEFAULT NULL COMMENT 'Nome c ...
Publicado em 6-26 03:06
Sistema de Gestão de Notas Universitárias com Spring Boot e Vue.js
Este projeto implementa um sistema completo para gerenciamento de notas acadêmicas, desenvolvido com tecnologias modernas da stack Java e JavaScript. A arquitetura separa claramente o backend (API RESTful) do frontend (interface do usuário), proporcionando manutenibilidade e escalabilidade.
Visão Geral Funcional
O sistema atende três perfis de ...
Publicado em 6-25 23:52
Estratégias de Sharding para o Processamento de 10 Bilhões de Pedidos em um Sistema de E-commerce
Desafio em Foco
Considere uma plataforma de e-commerce cuja tabela de pedidos no MySQL atingiu escala problemática. Consultas simples e operações de contagem global tornam-se proibitivamente lentas.
-- Consulta simples levando vários segundos
SELECT * FROM pedidos WHERE usuario_id=10086 LIMIT 10;
-- Contagem global extremamente lenta
SELECT CO ...
Publicado em 6-25 20:44
Implementação de Upload e Download de Arquivos com Spring Boot e Vue.js
Esturtura de Banco de Dados
Para gerenciar o armazenamento de metadados dos arquivos, utilizaremos uma tabela no MySQL que armazena informações como o hash MD5 para evitar duplicidade e o caminho de acesso.
CREATE TABLE `repositorio_arquivos` (
`id` INT NOT NULL AUTO_INCREMENT,
`nome_arquivo` VARCHAR(255) DEFAULT NULL COMMENT 'Nome original ...
Publicado em 6-25 05:24
Fundamentos de SQL: Extração de Dados com a Instrução SELECT
Conceitos Básicos da Instrução SELECT
A instrução SELECT é o comando fundamental na linguagem SQL utilizado para recuperar informações armazenadas em uma ou mais tabelas de um banco de dados relacional.
Palavras-chave (Keywords): O SQL possui um conjunto de palavras reservadas que compõem a sua sintaxe oficial. Essas palavras-chave não devem se ...
Publicado em 6-25 04:59
Gerenciamento de Funções e Procedures Customizadas no MySQL
Fundamentos de Sintaxe e Manipulação de Variáveis
No ecossistema MySQL, a automação de lógica complexa dentro do benco de dados é realizada através de funções e procedimentos armazenados. Embora compartilhem semelhenças estruturais, as funções são projetadas para retornar valores, enquanto os procedimentos executam sequências de comandos SQL.
D ...
Publicado em 6-24 22:28
Configuração do Apache DolphinScheduler em Modo Standalone com Persistência em MySQL
O Apache DolphinScheduler, quando executado em modo Standalone padrão, utiliza o banco de dados H2 e o Zookeeper Testing Server integrados. Embora prático para testes rápidos, essa configuração não é recomendada para persistência de dados a longo prazo, pois o desligamento do processo pode resultar na perda de metadados. Para contornar essa lim ...
Publicado em 6-23 22:12
Tipos de Dados e Restrições de Integridade em Bancos de Dados SQL
Tipos de Dados Fundamentais
1.1 Tipos Inteiros
Os tipos inteiros variam de acordo com o espaço de armazenamento e o intervalo de valores suportado. O uso da restrição UNSIGNED permite dobrar o limite superior ao descnosiderar números negativos.
Tipo
Bytes
Bits
Intervalo (Unsigned)
Intervalo (Signed)
TINYINT
1
8
0 a 255
-128 a 127
SM ...
Publicado em 6-23 19:48