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

Deleting records from a table is very slow when the table is open for viewing #19498

Closed
qgib opened this issue Sep 11, 2014 · 6 comments
Closed
Labels
Attribute Table Bug Either a bug report, or a bug fix. Let's hope for the latter!

Comments

@qgib
Copy link
Contributor

qgib commented Sep 11, 2014

Author Name: Paolo Cavallini (@pcav)
Original Redmine Issue: 11186
Affected QGIS version: 2.18.17
Redmine category:attribute_table


Tens of minutes for a PostGIS table with 200k records, with qgis taking 100% of CPU. The issue was apparently fixed some time ago by Kuhn by introducing some kind of "batch job detection" on attribute table side.

@qgib
Copy link
Contributor Author

qgib commented Sep 11, 2014

Author Name: Matthias Kuhn (@m-kuhn)


The problem most likely is introduced by the fact, that each feature is deleted with a separate call to @QgsVectorLayer::deleteFeature( QgsFeatureId fid )@ which in turn leads to one signal being emitted for each deleted feature and the attribute table updates accordingly with a expensive operation.

The same applies to adding features/changing attributes.

IIRC I resolved it for changing attributes by watching for editCommandStarted()/editCommandEnded() signals on attribute table side and buffering any edit happening in between, but only updating the attribute table once in the end (batch job detection).

The same could be done for deleting features on attribute table side. Instead I would propose to implement this feature directly inside QgsVectorLayer and emit batched signals for operation happening inside an edit command and per-operation signals when outside an edit command. This would have the advantage of not having to reinvent the wheel for every part where expensive operations can be performed once per edit command.

@qgib
Copy link
Contributor Author

qgib commented Apr 30, 2017

Author Name: Giovanni Manghi (@gioman)


  • easy_fix was configured as 0
  • regression was configured as 0

@qgib
Copy link
Contributor Author

qgib commented Mar 7, 2018

Author Name: Paolo Cavallini (@pcav)


Matthias, do you consider this fixed?


  • status_id was changed from Open to Feedback
  • description was changed from Tens of minutes for a PostGIS table with 200k records, with qgis taking 100% of CPU. The issue was apparently fixed some time ago by Kuhn by introducing some kind of "batch job detection" on attribute table side.
    to Tens of minutes for a PostGIS table with 200k records, with qgis taking 100% of CPU. The issue was apparently fixed some time ago by Kuhn by introducing some kind of "batch job detection" on attribute table side.

@qgib
Copy link
Contributor Author

qgib commented Mar 7, 2018

Author Name: Giovanni Manghi (@gioman)


Such operation on large tables is still painfully slow on 2.18. Not sure about 3.


  • version was changed from 2.4.0 to 2.18.17
  • status_id was changed from Feedback to Open

@qgib
Copy link
Contributor Author

qgib commented Mar 9, 2019

Author Name: Giovanni Manghi (@gioman)


End of life notice: QGIS 2.18 LTR

Source:
http://blog.qgis.org/2019/03/09/end-of-life-notice-qgis-2-18-ltr/

QGIS 3.4 has recently become our new Long Term Release (LTR) version. This is a major step in our history – a long term release version based on the massive updates, library upgrades and improvements that we carried out in the course of the 2.x to 3x upgrade cycle.

We strongly encourage all users who are currently using QGIS 2.18 LTR as their preferred QGIS release to migrate to QGIS 3.4. This new LTR version will receive regular bugfixes for at least one year. It also includes hundreds of new functions, usability improvements, bugfixes, and other goodies. See the relevant changelogs for a good sampling of all the new features that have gone into version 3.4

Most plugins have been either migrated or incorporated into the core QGIS code base.

We strongly discourage the continued use of QGIS 2.18 LTR as it is now officially unsupported, which means we’ll not provide any bug fix releases for it.

You should also note that we intend to close all bug tickets referring to the now obsolete LTR version. Original reporters will receive a notification of the ticket closure and are encouraged to check whether the issue persists in the new LTR, in which case they should reopen the ticket.

If you would like to better understand the QGIS release roadmap, check out our roadmap page! It outlines the schedule for upcoming releases and will help you plan your deployment of QGIS into an operational environment.

The development of QGIS 3.4 LTR has been made possible by the work of hundreds of volunteers, by the investments of companies, professionals, and administrations, and by continuous donations and financial support from many of you. We sincerely thank you all and encourage you to collaborate and support the project even more, for the long term improvement and sustainability of the QGIS project.


  • resolution was changed from to end of life
  • status_id was changed from Open to Closed

@qgib qgib closed this as completed Mar 9, 2019
@qgib
Copy link
Contributor Author

qgib commented Mar 9, 2019

Author Name: Paolo Cavallini (@pcav)


It seems to go well on 3.6.

@qgib qgib added Bug Either a bug report, or a bug fix. Let's hope for the latter! Attribute Table labels May 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Attribute Table Bug Either a bug report, or a bug fix. Let's hope for the latter!
Projects
None yet
Development

No branches or pull requests

1 participant