Skip to content

Blogd1

D1 rows read analytics: ~48,000 down to 5788

One daily analytics pull on a Cloudflare D1 database read 5788 rows after the change, against the alert's ~48,000, and a repeat pull read 0.

3hship2 min read

Share

A frosted glass lens on a metal stand sits beside a tall and a short stack of clay discs, the short stack glowing soft violet.
Contents

One daily analytics pull on a Cloudflare D1 database now reads 5788 rows, down from the alert’s ~48,000. That d1 rows read analytics figure comes from one real pull, and a repeat pull the same day read nothing. The note behind it prints every number below, so each one is quoted as printed.

What one pull read

Each old statement was run once through a scratch script, and the count was taken from meta.rows_read, so the per-statement figures add up to the pull’s total. The alert’s per-pull figure was ~48,000, and the re-measure of the old statements came to ~32,400. The note does not explain the gap between those two.

Reading Rows read
Alert, per pull ~48,000
Old statements, re-measured ~32,400
One real pull after the change 5788
Repeat pull, no flag 0

The statements are listed below. Only vitals moved much, and the rest read the same rows as before.

Statement Before After
views ~618 618
readThrough 1934 1934
engaged 1378 1378
vitals 27056 483
referrers 619 619
cta 28 28
outbound 213 213
sources 515 515

The vitals cut did not change what vitals report, because vitals p75s and counts equal the kit’s. The pull after the change had rowsRead total 5788. The repeat, run without the force flag, printed this and touched D1 not at all:

{"skipped":{"reason":"today's rows are already stored; no D1 read ...","rowsRead":0}}

This is one database and one pull, so it says nothing about other days. The note states no money saved and no result for other databases, and this post claims none. For the same measure-first habit on a different problem, see the SEO pass on two live sites, or the post on what burns a Claude Code quota.

Verdict

The d1 rows read analytics drop is measured for one pull: 5788 rows against the alert’s ~48,000, with a repeat pull at 0. Treat that as one day on one database, and run the same per-statement read on yours before trusting it.

Check the numbers yourself: open the readings note

Sources:evidence/stats-budget/readings.md, evidence/site-stats/c1-website-rows.md.

Responses

Sign in to write a response

Keep reading