O que estou praticando no khan academy?

No módulo de SQL da trilha de Programação, estudei SQL e seus fundamentos e pratiquei com atividades que simulam situações do ambiente de desenvolvimento.

Khan Academy

Por que consultas SQL precisam de um plano?

Por exemplo, vamos supor que temos essa consulta simples:

SELECT * FROM books WHERE author = "J K Rowling";
  • Criar um “índice”: fazer uma cópia da tabela ordenada por autor e então fazer uma busca binária para encontrar a linha na qual a autora “J K Rowling” está, encontrar os IDs correspondentes e então fazer uma busca binária na tabela original que retorna as linhas que correspondem ao ID.

O ciclo de vida de uma consulta SQL

Podemos pensar em um mecanismo SQL que passa por essas etapas para cada consulta que passamos para ele:

  1. A etapa de planejamento e otimização da consulta realiza o trabalho duro de pensar. Primeiro, ela realiza otimizações simples (melhorias que sempre resultam em uma performance melhor, como simplificar 5*10 em 50). Então, ela considera diferentes “planos de consulta” que podem ter otimizações diferentes, estima o custo (de processamento e de tempo) de cada plano de consulta, com base no número de linhas nas tabelas relevantes, e então escolhe o melhor plano e o passa para a próxima etapa.
  2. A etapa de execução da consulta recebe o plano e o transforma em operações para o banco de dados, retornando os resultados caso eles existam.

Onde entram os humanos?

O planejamento e a otimização da consulta acontece para cada consulta e você poderia passar sua vida emitindo consultas SQL sem perceber isso. Contudo, uma vez que você começa a lidar com conjuntos maiores de dados, você começa a se importar mais com a velocidade das suas consultas e a se perguntar se há alguma forma de melhorar a performance delas.

Khan Academy

Existe diversas trilhas de estudos no portal da Khan Academy. Estou fazendo o de programação devido ao interesse em html, css, javascript e sql entre outros detalhes do ambiente de desenvolvimento web.

grade de trilhas
Khan Academy

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato