-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
paging for large result sets? #59
Comments
hey @jameshowison, thanks for opening the issue. I was reading the discussion you had on the issue linked. Even if this is not a
Do you know how this is implemented under the hood? I don't know how we could implement something sensitive to being watched by the user, but we could think on some kind of pagination. |
Yeah, I think phpmyadmin and others just use LIMIT and OFFSET. Although I'm far from sure (it's what phpmyadmin shows as you browse). I found this note about using resultset/cursor and postgres specific FETCH. Perhaps something like that is implemented with SOCI? https://www.citusdata.com/blog/2016/03/30/five-ways-to-paginate/ Perhaps some of the impact can be resolved using something like https://pypi.org/project/jupyterlab-limit-output/ |
Yeah, that seems like something that should work out of the box, tbh. |
Thinking about this more, perhaps an across platform approach that protects against the most common error cases without the hassle of pagination would be to add I think needed to interactively look at more than 100 results would be exceedingly rare (I mean 100 is too many to look through anyway :) |
Just a note that I ran into this today with Jupyter becoming unresponsive with a 38MB ipynb file (resulting from large results from |
Just a note here (in case others find this in future) that https://github.com/kynan/nbstripout is able to resurrect files that have become unresponsive due to containing very large amounts of output. |
To help students who end up with an unresponsive Jupyter because of very large output in files. A workaround for the issue in xues-sql reported here: jupyter-xeus/xeus-sql#59
What about adding a parameter to the LOAD, something like |
This would also work. I'm not sure I understand your last comment. How would that differ from using |
Last comment meant that I almost never manually look at results above 100 rows, I load larger results into a data analysis or visualization program. But I think having this configurable using |
I'm running into responsiveness issues with queries with many results (~100,000 order of magnitude).
If it was just me then I'd add LIMIT statements, remembering to remove them later in the query buildup. But I'm working with students and asking doesn't make it so.
Any chance that the result sets could be paged, with the interface only handling those currently being looked at? This is a common approach in things like phpmyadmin or other sql clients, but I don't know whether SOCI makes that easy or not?
The text was updated successfully, but these errors were encountered: