Suchen Sie den einen Kandidatenblock, anstatt zurück zum Tabellenstart zu scannen

Performancekamo-analytics
Shipped
19. August 2026 um 16:19 UTC
Author
Kamo
Commit
9b3ad2c

/api/send nahm 1.8-7.9 s für die meisten Adressen und einstellige ms für einige, die ist kein Lastproblem, sondern die Form der Geolite-Abfrage. getLocation() ist gewartet, bevor das Ereignis geschrieben wird, so dass Latenz wurde vom Browser bezahlt auf jede verfolgte Veranstaltung, und auf der Marketing-Website wurde es zweimal bezahlt, weil die Tracker erwartet die Leuchtfeuer vor der Navigation. WO network_start <= $1 UND network_end ORDER BY network_start DESC LIMIT 1 liest sich als Index-Suche und ist nicht einer. Mit idx_gelite_blocks_range_asc Planer geht den Index rückwärts von der Adresse und reicht jede Zeile an die Filter. Die Blöcke sind nicht überlappend und bestellt, so dass die einzige Zeile, die jemals kann Match ist der erste Besuch - und wenn der Bereich der Reihe unter der Adresse endet (ein nicht zugewiesener Bereich, oder eine Adresse hinter dem Ende eines Blocks) jede frühere Zeile verfehlt den gleichen Test, so dass der Scan läuft bis zum Start einer 5.8M-Reihe Tabelle vor Rückgabe nichts. Suchen Sie zu diesem einzelnen Kandidaten zuerst und testen Netzwerk_end danach kehrt zurück genau die gleichen Zeilen. Gemessen am Live-Tisch: 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 (kein Gegenstück, richtig) Keine Schemaänderung: der Index, den dies benötigt, existiert bereits. Auch fällt die 26257 Port Fallback. CockroachDB ist im Ruhestand, aber dieser Hafen noch antwortet, so dass ein GEO_DATABASE_URL ohne expliziten Port glücklich verbinden würde und dann nicht die Tabellen zu finden, anstatt sich direkt zu verweigern.

All changes

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen