Consultar tarefas e avaliar índices
Prepare o ambiente
Consulte registros com filtros e examine um índice para a listagem de tarefas por usuário.
- Projeto de estudo separado dos registros de produção.
- Conhecimento da trilha Comece aqui.
Comece pela consulta da aplicação
A trilha inicial cria tarefas vinculadas ao proprietário. Selecione as colunas necessárias para a lista de tarefas recentes. Limite o resultado a vinte registros:
const { data, error } = await supabase.from('tarefas') .select('id,titulo,concluida,criada_em') .order('criada_em', { ascending: false }) .limit(20)if (error) throw errorA política de SELECT restringe as linhas ao proprietário. A ordenação acima não substitui a autorização. Confira a consulta com dois usuários e com uma sessão ausente antes de ampliar a interface.
Examine o plano
No banco de estudo, considere o acesso por user_id seguido de ordenação por criada_em. Um índice candidato para esse padrão é:
create index tarefas_usuario_data_idxon public.tarefas (user_id, criada_em desc);Registre a criação em uma migration. Cada índice ocupa espaço e acrescenta trabalho às gravações. Compare o plano da consulta antes e depois, usando registros representativos. Uma tabela pequena pode continuar usando leitura sequencial, pois o planejador avalia o custo estimado.
Meça com o papel da aplicação
Use EXPLAIN para inspecionar o plano. EXPLAIN ANALYZE executa a instrução: aplique-o somente a uma consulta de leitura conhecida no ambiente de estudo. O papel administrativo do SQL Editor pode produzir um plano diferente daquele da API com RLS.
Ao medir, registre quantidade de linhas, filtros, papel de acesso e tempo observado. Evite concluir que o índice melhorou a aplicação apenas porque foi criado sem erro. Verifique também o tempo da requisição completa no navegador.
Para avançar a paginação, considere uma ordenação estável com desempate por id. Uma lista que muda enquanto o usuário navega precisa definir como tratar inserções novas, repetições e itens que saíram do filtro.
Confira o resultado
Execute as conferências descritas no guia e registre ambiente, versão e resultado antes de aplicar em outro projeto.
Fontes consultadas
Procedimento conferido na documentação oficial. A execução em uma instância Supabase não foi realizada nesta revisão.
