DO SQL shows high rows read in the dashboard but only 1 in the query's returned result
So I ran a simple SQL query in DO like this using
The returned result correctly shows
I'm very sure I'm the only one accessing the DO at that time, because when I'm not testing the DO, it correctly shows 0 rows read. Subsequent invocations of the same query shows the same 83 count in the dashboard.
The "layout" table is indexed and only has 8 rows in it. Running
I cannot figure out why the dashboard is showing such a high number. Is this correct?
Also, if I run
Can someone shed some light on this discrepancy? Is this a bug in the DO SQL exec() result?
Edit:
Quick follow up on this. If I execute the initial SELECT consecutively for 8 times in the same minute, the rows read becomes 90 instead of 664 (83 per query * 8 tries). I think the number 90 comes from the first query (83 rows read) plus subsequent 7 tries with 1 row each (83 + 7).
Now it makes me wonder, what is the initial high row reads for the query?
exec() (executed at 11:57am):The returned result correctly shows
rowsRead: 1 and one item in toArray(). However, when I checked the Storage Operations inside DO's metrics in the Cloudflare dashboard, it shows a Rows read 83 at 11:57am instead of 1.I'm very sure I'm the only one accessing the DO at that time, because when I'm not testing the DO, it correctly shows 0 rows read. Subsequent invocations of the same query shows the same 83 count in the dashboard.
The "layout" table is indexed and only has 8 rows in it. Running
EXPLAIN QUERY PLAN returns this result:I cannot figure out why the dashboard is showing such a high number. Is this correct?
Also, if I run
SELECT id FROM layout, the returned result still only shows rowsRead: 1 (which is strange because it should be 8), while the dashboard shows a count of 172.Can someone shed some light on this discrepancy? Is this a bug in the DO SQL exec() result?
Edit:
Quick follow up on this. If I execute the initial SELECT consecutively for 8 times in the same minute, the rows read becomes 90 instead of 664 (83 per query * 8 tries). I think the number 90 comes from the first query (83 rows read) plus subsequent 7 tries with 1 row each (83 + 7).
Now it makes me wonder, what is the initial high row reads for the query?
