Corrigir lentidão de fórmulas do Notion em bancos de dados grandes
🔍 WiseChecker

Corrigir lentidão de fórmulas do Notion em bancos de dados grandes

Quando você tem um banco de dados do Notion com centenas ou milhares de linhas, fórmulas que antes calculavam instantaneamente podem ficar lentas. A página pode congelar por segundos ou até expirar ao editar uma propriedade de fórmula ou filtrar o banco de dados. Essa lentidão ocorre porque o Notion recalcula cada fórmula em cada linha toda vez que o banco de dados carrega ou um valor muda. Este artigo explica por que o desempenho das fórmulas degrada em escala e fornece etapas específicas para otimizar suas fórmulas, mantendo seu banco de dados responsivo.

Principais conclusões: Otimizando fórmulas do Notion para bancos de dados grandes

  • Reduza a complexidade das fórmulas: Divida fórmulas monolíticas em várias propriedades de fórmula simples para reduzir o tempo de computação por linha.
  • Use rollup com moderação: Substitua fórmulas de rollup por consultas diretas de relação ou valores pré-calculados para evitar recálculos em cascata.
  • Aplique filtros para limitar linhas visíveis: Use filtros do banco de dados para reduzir o número de linhas que disparam o recálculo de fórmulas ao carregar.

ADVERTISEMENT

Por que as fórmulas do Notion ficam lentas em bancos de dados grandes

O Notion recalcula cada propriedade de fórmula em cada linha de um banco de dados sempre que a visualização do banco de dados carrega ou qualquer dado relacionado muda. Para um banco de dados com 10.000 linhas, uma única fórmula que referencia cinco outras propriedades força 50.000 leituras de propriedade por carregamento. Se a fórmula usar um rollup que, por sua vez, referencia outro banco de dados, a cadeia de computação cresce exponencialmente. O Notion não armazena em cache os resultados das fórmulas entre sessões, então cada abertura do banco de dados dispara um recálculo completo. A lentidão se torna perceptível quando a fórmula contém instruções if aninhadas, vários rollups ou referências a propriedades em outros bancos de dados que também têm muitas linhas.

Etapas para melhorar o desempenho das fórmulas

  1. Identifique as fórmulas mais lentas
    Abra seu banco de dados e observe quais propriedades de fórmula demoram mais para carregar. Classifique pela coluna de fórmula e observe o ícone de carregamento. Foco em fórmulas que usam rollup(), prop() com muitos argumentos ou instruções if() aninhadas.
  2. Divida fórmulas complexas em partes menores
    Em vez de uma fórmula que calcula A, B e C, crie três propriedades de fórmula separadas. Cada uma calcula um valor. Em seguida, crie uma fórmula final que referencie essas três propriedades de fórmula. Isso reduz a computação por propriedade e permite que o Notion atualize apenas as propriedades afetadas quando os dados mudam.
  3. Substitua rollups por referências diretas de fórmula
    Se uma propriedade de rollup puxa um valor de um banco de dados relacionado, substitua-a por uma fórmula que use prop("Relation").first() ou prop("Relation").map(). Referências diretas de fórmula são mais rápidas porque não exigem que o mecanismo de rollup agregue todo o banco de dados relacionado.
  4. Limite o número de linhas na visualização
    Adicione um filtro ao banco de dados que mostre apenas as linhas necessárias. Por exemplo, filtre por uma propriedade de status definida como “Ativo” ou uma propriedade de data no mês atual. Menos linhas visíveis significa menos fórmulas para calcular no carregamento.
  5. Use a função dateBetween() em vez de cálculos manuais de data
    Cálculos manuais de data usando prop("Date1") - prop("Date2") são mais lentos que a função embutida dateBetween(). Substitua toda subtração manual de data por dateBetween(prop("Date1"), prop("Date2"), "days").
  6. Remova propriedades de fórmula não utilizadas
    Exclua propriedades de fórmula que você não usa mais. Cada propriedade de fórmula adiciona ao tempo total de computação, mesmo que não seja exibida na visualização atual.
  7. Arquive linhas antigas em vez de mantê-las no mesmo banco de dados
    Mova linhas concluídas ou desatualizadas para um banco de dados de arquivo separado. Use uma relação para vincular de volta, se necessário. Isso reduz a contagem de linhas no seu banco de dados ativo e acelera todas as computações de fórmula.

ADVERTISEMENT

Se o Notion ainda estiver lento após otimizar as fórmulas

Coluna de fórmula mostra “Carregando…” indefinidamente

Isso ocorre quando uma fórmula contém uma referência circular ou referencia uma propriedade que, por sua vez, depende da fórmula. Verifique todas as propriedades de fórmula em busca de loops. Remova qualquer fórmula que referencie outra fórmula que eventualmente referencie de volta a primeira.

Fórmula de rollup retorna “Erro” em bancos de dados grandes

O Notion limita as computações de rollup a 10.000 linhas por banco de dados. Se o banco de dados relacionado exceder esse limite, o rollup falha silenciosamente. Substitua o rollup por uma fórmula que use prop("Relation").map() e depois uma função de agregação como sum() ou count(). Isso contorna o limite de rollup e melhora a velocidade.

Lentidão apenas no celular ou desktop

Os aplicativos móveis do Notion têm menos memória e poder de processamento que os navegadores de desktop. Se seu banco de dados tiver mais de 5.000 linhas, considere criar uma visualização simplificada com menos colunas de fórmula especificamente para uso móvel. Use a opção “Ocultar” no menu da coluna para remover colunas de fórmula pesadas da visualização móvel.

Técnica de Otimização Antes (Lento) Depois (Rápido)
Estrutura da fórmula Fórmula única com 10 instruções if aninhadas Três fórmulas separadas, cada uma com 3 instruções if
Uso de rollup rollup(prop("Related"), prop("Value"), sum) prop("Related").map(current.prop("Value")).sum()
Cálculo de data prop("End") - prop("Start") dateBetween(prop("End"), prop("Start"), "days")
Gerenciamento de contagem de linhas 10.000 linhas em um banco de dados 5.000 linhas ativas + 5.000 linhas arquivadas

Ao aplicar essas otimizações, você pode reduzir significativamente o tempo de computação de fórmulas em bancos de dados grandes do Notion. Comece com a mudança mais simples, como remover propriedades de fórmula não utilizadas ou adicionar um filtro, e teste o desempenho antes de passar para reestruturações mais complexas. Para bancos de dados com mais de 50.000 linhas, considere dividir os dados em vários bancos de dados vinculados por relações para manter cada banco de dados pequeno o suficiente para um recálculo rápido de fórmulas.

ADVERTISEMENT