Skip to content
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

Painfully slow table navigation after recent update(s) #852

Closed
WesleyM77 opened this issue Jan 14, 2020 · 8 comments
Closed

Painfully slow table navigation after recent update(s) #852

WesleyM77 opened this issue Jan 14, 2020 · 8 comments

Comments

@WesleyM77
Copy link

@WesleyM77 WesleyM77 commented Jan 14, 2020

Steps to reproduce this issue

  1. Connect to db (local or remote)
  2. Click on relatively small table.
  3. Wait a while (UI freezes, title bar says "Not Responding", then table loads after a bit).
  4. Click on data tab, Repeat step 3.

Current behavior

Step 3 from above.

Expected behavior

Snappier table loads like before.

Environment

  • HeidiSQL version:
    10.3.0.5819
  • Database system and version:
    MySQL
  • Operating system:
    Windows 10

Bug Report

Got a crash during step 3 at one point.
bugreport.txt

@ansgarbecker

This comment has been minimized.

Copy link
Collaborator

@ansgarbecker ansgarbecker commented Jan 14, 2020

@ansgarbecker

This comment has been minimized.

Copy link
Collaborator

@ansgarbecker ansgarbecker commented Jan 14, 2020

I just separated the join for foreign key retrieval into two separate queries, which seem to fire faster now.

But I need to invent some caching mechanism, as these many queries are fired several times for one table click.

@WesleyM77

This comment has been minimized.

Copy link
Author

@WesleyM77 WesleyM77 commented Jan 15, 2020

This definitely brought back the snappiness of the table/data loads. Hopefully you can figure something out to get your desired result without sacrificing performance.

ansgarbecker added a commit that referenced this issue Jan 15, 2020
…s object lists in TDBObject, instead of re-querying from database each time.
ansgarbecker added a commit that referenced this issue Jan 16, 2020
…TDBObject.LoadDetails and .UnloadDetails, and cross fingers that assigning details to Mainform.FActiveDbObj reduces the number of internal queries
@lukinhaspm

This comment has been minimized.

Copy link

@lukinhaspm lukinhaspm commented Jan 16, 2020

its good, BUT, definitely slower than before ...
I think you should:
Once a database has been loaded, the information_schema tables will be written to Heidi's cache, and every time you use that cache, if you create or modify the structure, you should ask to update the cache, just like SQL Management Studio does - very very fast (I'm use Maria DB 10.2.30, and last Heidi build)

@lukinhaspm

This comment has been minimized.

Copy link

@lukinhaspm lukinhaspm commented Jan 16, 2020

I saw when I use a remote connection, Heidi does several times the same query, maybe they don`t wait the result?
image

@ansgarbecker

This comment has been minimized.

Copy link
Collaborator

@ansgarbecker ansgarbecker commented Jan 17, 2020

I just pushed a cache solution now, reusing the internally collected columns, keys and foreign keys. That should minimize the internal queries. Please recheck with the next build.

@lukinhaspm

This comment has been minimized.

Copy link

@lukinhaspm lukinhaspm commented Jan 17, 2020

Now its VERY fast! More than before! Thanks a lot!

@WesleyM77

This comment has been minimized.

Copy link
Author

@WesleyM77 WesleyM77 commented Jan 17, 2020

Just updated and it seems just as fast as before! Thank you very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.