<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Eduardo Faleiro</title><description>Anotações sobre as coisas que eu construo.</description><link>https://eduardofaleiro.dev/</link><language>pt-br</language><item><title>Como um índice mantém uma consulta rápida com uma tabela 50 vezes maior</title><link>https://eduardofaleiro.dev/pt/blog/manter-consulta-rapida-tabela-cresce/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/manter-consulta-rapida-tabela-cresce/</guid><description>Um benchmark no PostgreSQL comparando a mesma consulta em 1, 10 e 50 milhões de linhas, com e sem o índice correto.</description><pubDate>Tue, 13 Oct 2026 23:30:00 GMT</pubDate></item><item><title>Como eliminar o problema N+1 usando JOIN</title><link>https://eduardofaleiro.dev/pt/blog/eliminar-n-mais-um-com-join/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/eliminar-n-mais-um-com-join/</guid><description>Por que trocar 51 comandos SQL por um único JOIN deixou uma consulta de extrato aproximadamente 16 vezes mais rápida.</description><pubDate>Sat, 10 Oct 2026 23:25:00 GMT</pubDate></item><item><title>Como acelerar buscas case-insensitive com um índice sobre expressão</title><link>https://eduardofaleiro.dev/pt/blog/acelerar-buscas-case-insensitive-indice-expressao/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/acelerar-buscas-case-insensitive-indice-expressao/</guid><description>Como usar um índice sobre expressão no PostgreSQL para tornar uma busca por prefixo case-insensitive aproximadamente 33 vezes mais rápida.</description><pubDate>Wed, 07 Oct 2026 23:10:00 GMT</pubDate></item><item><title>Como reduzir um índice de 387 MB para 3 MB usando um índice parcial</title><link>https://eduardofaleiro.dev/pt/blog/fila-antifraude-indice-parcial/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/fila-antifraude-indice-parcial/</guid><description>Como um índice parcial no PostgreSQL atende uma fila antifraude usando 3.104 kB em vez dos 387 MB exigidos por um índice completo.</description><pubDate>Sun, 04 Oct 2026 23:15:00 GMT</pubDate></item><item><title>Otimize suas consultas trocando OFFSET por keyset pagination</title><link>https://eduardofaleiro.dev/pt/blog/paginacao-do-extrato-offset-vs-keyset-pagination/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/paginacao-do-extrato-offset-vs-keyset-pagination/</guid><description>Um benchmark comparando OFFSET e keyset pagination no extrato de uma conta whale, da primeira página até um salto de 4.950 linhas.</description><pubDate>Thu, 01 Oct 2026 23:20:00 GMT</pubDate></item><item><title>Como evitar acessos desnecessários à tabela usando covering index</title><link>https://eduardofaleiro.dev/pt/blog/como-evitar-acessos-desnecessarios-tabela-covering-index/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/como-evitar-acessos-desnecessarios-tabela-covering-index/</guid><description>Como usar um covering index para calcular o saldo de uma conta sem acessar o heap, reduzindo o tempo de execução de 12,249 ms para 2,780 ms.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Por que seu índice composto não está deixando a consulta rápida</title><link>https://eduardofaleiro.dev/pt/blog/ordem-das-colunas-em-indice-concatenado/</link><guid isPermaLink="true">https://eduardofaleiro.dev/pt/blog/ordem-das-colunas-em-indice-concatenado/</guid><description>As mesmas duas colunas, nas duas ordens possíveis, em 10 milhões de linhas: 17 ms contra 0,060 ms. Três planos de execução, e por que a diferença não é arredondamento.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item></channel></rss>