Earlier quoted context omitted.
`select * from utxos where address =?` should not take 300ms no matter the size or type of database (assuming there is an index on address).
Not really. If your table does not fit into memory, there is a good chance that a disk seek is required. Now all bets are off.
It's just 300ms is really slow, even with a largeish dataset that doesn't fit into memory. Perhaps you hit a corner case in some way that destroyed performance in sqlite, but I'd be surprised if those results were representative.