Trilha Júnior Trilha

Migrations ActiveRecord: índices

O curso trata de como as migrations do ActiveRecord criam e removem índices em tabelas PostgreSQL que continuam recebendo escritas. Começa pelo ShareLock que um add_index simples pega e por que a duração dele cresce com a tabela. Depois vem algorithm: :concurrently com disable_ddl_transaction!, junto com as trocas que a documentação do PostgreSQL descreve. Em seguida aparecem índices parciais com where: e índices de expressão, ligados aos models deste app. As aulas finais tratam de remove_index, index_exists? e if_not_exists:, e juntam tudo numa migration segura de rodar de novo.

O que você vai aprender

  • ✓Como o ShareLock de um add_index simples bloqueia escritas durante a construção
  • ✓Criar índices com algorithm: :concurrently e disable_ddl_transaction!
  • ✓Índices parciais com where: sobre uma fatia da tabela
  • ✓Índices de expressão, e quando normalizar na escrita é mais simples
  • ✓Remover índices com remove_index, por coluna ou por nome
  • ✓Migrations que podem rodar de novo com index_exists?, if_not_exists: e if_exists:
Prévia grátis · Aula 1 3 min de leitura

A trava que um add_index simples pega

"SQL: índices e performance" mostrou por que um índice deixa uma consulta rápida: uma B-tree em vez de uma varredura sequencial, com EXPLAIN ANALYZE confirmando a diferença. A aula "add_index numa migration real do Rails", desse curso, mostrou add_index rodando dentro das migrations create_courses…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...