ellie-commons / sequeler

SQL Client built in Vala
GNU General Public License v3.0
804 stars 66 forks source link

Crash on sidebar database with million table #324

Closed Jayuda closed 2 years ago

Jayuda commented 4 years ago

Dear creator squeler, Thanks for this app, it realy good. But after i am use with million table its crash. But if i choose database information_schema its work well. Any sugestion ?

Alecaddd commented 4 years ago

Wow, a million tables? That's....a lot...

I'm not sure how to approach this problem, or even how can I test it.

Since the table list is using the Granite.SourceList view, I'd suggest reporting this issue in the elementary/granite repository.

How did you end up with a million tables? That's beyond manageable.

andbuitra commented 4 years ago

Is something like lazy-loading the SourceList even possible? Like loading the first 100 tables or something like that. A million tables is a sign of a poorly designed DB or a translation issue :sweat_smile: but something like 100x less is possible and should be manageable without crashing the app (haven't tested that myself tho)

Alecaddd commented 4 years ago

The SourceList widget has pretty good performance with thousands of entries. A million is something kind of outside the ordinary, and indeed is a sign a very poor database design. Furthermore, Sequeler already handles the loading and rendering of the Database Schema asynchronously on dedicated Thread. The app shouldn't crash even under heavy load.

Could you run sequeler from the terminal with this command, and paste the output once the app crashes? G_MESSAGES_DEBUG=all com.github.alecaddd.sequeler