Procura o bloco de um candidato em vez de voltares à mesa

Performancekamo-analytics
Navios
19 de agosto de 2026 às 16:19 UTC
Autor
Kamo
Enviar
9b3ad2c

/api/send levou 1,8-7.9 s para a maioria dos endereços e ms de um único dígito para alguns, que não é um problema de carga — é a forma da consulta geolite. getLocation () is aguardado antes do evento ser escrito, de modo que a latência foi paga pelo navegador em cada evento rastreado, e no site de marketing foi pago duas vezes mais porque o O localizador aguarda o sinal antes de navegar. ONDE network start <= $1 E network end >= $1 ORDEM POR LIMITAÇÃO DE DESC 1 lê como um índice de busca e não é um. Com idx geolite blocks range ass planner caminha o índice para trás a partir do endereço e entrega cada linha para o filtro. Os blocos não são sobrepostos e ordenados, então a única linha que pode match é a primeira visitada — e quando o intervalo dessa linha termina abaixo do endereço (um intervalo não atribuído, ou qualquer endereço após o fim de um bloco) cada linha anterior falha o mesmo teste, então a varredura corre para o início de uma tabela 5.8M-row antes A devolver nada. Procurando aquele candidato único primeiro e testando network end depois retorna exactamente as mesmas filas. Medida em relação à mesa ao vivo: 47.181.8.84 1807 ms -> 7 ms US 208.67.222.222 7871 ms -> 5 ms US 93.184.216.34 4441 ms -> 6 ms US 203.0.113.7 7193 ms -> 6 ms (sem correspondência, corretamente) Nenhuma mudança de esquema: o índice que isto precisa já existe. Também deixa cair a saída 26257. BarataDB é aposentado, mas que porto ainda respostas, então um GEO DATABASE URL sem uma porta explícita se conectaria feliz e Em seguida, deixar de encontrar as tabelas em vez de recusar.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços