using skip is potentially very slow (it still has to read all the records you're skipping, so it's useful only for small skip values), suggest instead generating a random key and taking the next N from there. Whether you can fairly generate a random key is application-specific.
B. On Mon, Jun 28, 2010 at 2:37 PM, Sebastian Cohnen <[email protected]> wrote: > depending on your type of keys, I think you can use client-side generated > random ids, startkey and limit to fetch random values from your view. > > On 28.06.2010, at 15:29, [email protected] wrote: > >> Hello couchers, >> >> how would you do to select a random subset of a view result (a simple view >> with map only). >> >> Example (I don't write the full view response array for clarity) >> >> When called normally, my view returns : >> >> { >> ... >> rows: [ >> {id: aa1}, >> {id: aa2}, >> {id: aa3}, >> {id: aa4}, >> {id: aa5}, >> {id: aa6}, >> {id: aa7}, >> {id: aa8}, >> {id: aa9} >> ] >> } >> >> And I want only three of those rows, randomly chosen. So I launch the magic >> "get three random rows" feature, and it gives me : >> >> { >> ... >> rows: [ >> {id: aa5}, >> {id: aa3}, >> {id: aa6} >> ] >> } >> >> The second time I launch the same magic "get three random rows" I got: >> { >> ... >> rows: [ >> {id: aa7}, >> {id: aa1}, >> {id: aa5} >> ] >> } >> >> Thanks for your advices >> >> Mickael > >
