Performance questions are often determined by finer details and other information. For instance, are you selecting 100 points out of 100000 ? Or are you selecting all the points and then filtering? The other question is which element of performance is the one you're seeking to optimize, as there are a few stages that could bottleneck in what you're describing.
- Searching the database for the datapoints. Work is done by the server, selecting by id or data source id would be fastest always, xids pretty fast, wildcard RQL matching in miscellaneous fields would take the longest, but would probably still be extremely fast if your system isn't huge.
- Serializing them into a response. This doesn't take too much time, but more points would likely linearly scale the work it had to do. The bandwidth of the gateway may be a consideration, in that if you pay per byte you may not want to include an extra 20 points to filter out later on. This work is also done by the server.
- Filtering after the fact. Work is done in the client's browser instead of the server.
If you submit multiple queries, you have to do any overhead associated with processing those queries, but as the old mantra goes,
...Be wary of premature optimization
because until you know that it's a meaningful load for the system to service these requests, it might be more effort than its worth to say one approach is always best. Do what is clear to you!