6

Every time I accidentally open an attribute table for a large table in QGIS it takes ages to load. The data is in Postgres, but that doesn't help when the table is trying to load millions of features. Is there an option to only load say the first 1000 rows, then load the rest as required, like pagination? Similar to ArcGIS.

I know that I can query first, or use psql or pgadmin, but sometimes you just want to see the attributes in QGIS. Sometimes it's an accident.

6

In QGIS 3.4 menu 1) Select Settings->Options 2) In the dialog Options select the tab Data Source 3) The opposite the label Attribute table behavior choose the value "Show features visible on map" Dialog 4) Then when you limit the number of features on the map the attribute table will appear much faster.

  • Maybe there is something wrong with my settings, but I did this, and set cache to 100, zoom in to a close area, open the attibute table and still see all records. – isamson Feb 21 at 15:44
  • There seems to be a bug with this feature in QGIS 3.4. I also changed my settings to "show features visible on map," zoomed into an area where there were no more than 30 features, and tried to open the attribute table of a very large (thousands of polygons) shapefile. The attribute table still took a very long time to open, with the additional issue that I couldn't close the table, and every time I zoomed or panned the map the table needed to re-load. – csk Feb 21 at 17:57
4

If you don't want to change your default settings like mentioned in the other answer, you can use keyboard shortcut:

  • F6 to open the attribute table
  • Shift + F6 to open selected features only (Shift like Selected)
  • Ctrl + F6 to open visible features only

So you can do this tip per layer (according to the number of feature you estimate)

Source: https://north-road.com/qgis-3-0-shortcuts/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.