WP Data Access
  • Download
  • Support
  • Features
  • Pricing
  • Documentation
Select Page
Popular Search importsqlformqueryexport

WP Data Access

  • Getting started
  • Installation
  • What’s new?
  • Patches
  • Known limitations
  • FAQ

Data Tables

  • Getting Started
  • Creating and publishing
  • Responsive data tables
  • SEO friendly data tables
  • Adding hyperlinks
  • Extension Manager
  • Style Manager
  • Language settings
Styling
  • Style Manager
  • Premium styling
  • Global styling
  • Code Manager Styling
  • Manual styling
  • Styling issues
Filters
  • Static filters
  • Interactive filters
    • URL parameters
    • Search Panes
    • Search Builder
    • Search form
    • Advanced search
    • Geolocation search
Export & other buttons
  • Export to PDF, CSV, Excel, SQL
  • Print & copy buttons
  • Column selection buttons
  • Custom buttons
Advanced features
  • Advanced settings
  • Large tables & performance
  • Progressively SHOW MORE
  • Custom queries
  • Custom Post Types
  • Row grouping
  • Responsive master-detail
  • Master-detail tables
  • Non admin user access
Demos & tutorials
  • Demos
  • Tutorials

Data Apps

  • Data Projects
  • Projects and templates
  • Supported Data Types
  • One-To-Many relationships
  • Many-To-Many relationships
  • Registration page
  • Manage table options
  • Shortcode usage
Project Templates
  • Project Templates
  • Creating templates
  • Table Settings
  • Relationships
  • List Table
  • Data Entry
  • Reconcile
Data Forms
  • Data Forms
  • Overview
  • Project Demo
  • Page Demo
Advanced features
  • Adding filters
  • Custom validation
  • Add less/more button
  • User roles
  • Managing roles and users
  • Advanced table options
  • Advanced lookups
  • Front-end toolbar
  • Transfer to other WP site
Demos & tutorials
  • Demos
  • Tutorials

Data Explorer

  • Getting started
  • Navigation
  • Explore tables & views
  • Manage tables & views
  • Naming conventions
Manage Actions
  • Actions
Manage Settings
  • Settings
  • Search Settings
  • Geolocation Settings
  • Table Settings
  • Column Settings
  • Dynamic Hyperlinks
  • Dashboard Menus
Data Management
  • Import CSV & SQL files
  • Run SQL script files
  • Data Backup
Problems & solutions
  • InnoDB #rows estimation
  • Import file too large
  • Transfer to other WP DB

Remote Databases

  • MySQL | MariaDB
Other DBMS
  • Heterogeneous Connections
  • Using ODBC | JDBC
  • Connect to SQL Server
Premium Data Services
  • Remote wizard
  • START HERE
  • Errors and messages
  • Limitations
  • Tutorials
  • Remote Databases
    • Remote databases
    • SQL Server
    • PostgreSQL
    • Oracle
    • MariaDB | MySQL
    Remote Data Files
    • Remote data files
    • CSV files
    • JSON files
    • MS Access
    • XML files
    • Public URL
    • Synchronization
    Advanced features
    • Performance
    • Indexes

SQL

  • Getting Started
  • Tutorials
  • Visual Query Builder
  • Writing queries
  • Data exchange
  • Stored procedures
  • Database triggers
  • Scheduled queries

Business Intelligence

  • Getting started
  • Dashboards
  • Sharing dashboards
Dashboards Widgets
  • Dashboard Widgets
  • Publication Widget
  • Project Widget
  • Chart Widget
  • Custom Code Widget
  • Database Widget
  • Sharing Widgets

Table Design

  • Getting started
  • Introduction
  • Basic mode

Plugin Settings

  • Getting started
  • Plugin
  • Back-end
  • Front-end
  • Dashboard
  • Data Forms
  • Data Tables
  • Data Backup
  • Uninstall
  • Manage Repository
  • Manage Roles
  • System Info

Code

Shortcodes
  • Overview
  • wpdataaccess
  • wpdadataproject
  • wpdadataforms
  • wpdadiehard
  • wpdageomap
  • wpdawidget
Hooks & filters
  • Overview
  • Hooks
    • Overview
    • wpda_add_search_actions
    • wpda_add_search_filter
    • wpda_before_list_table
    • wpda_after_list_table
    • wpda_wpdataaccess_prepare
    Filters
    • Overview
    • wpda_column_default
    • wpda_before_simple_form
    • wpda_after_simple_form
    • wpda_construct_where_clause
API
  • WP Data Access API
  • Remote database access
  • CRUD Example
  • Extensions
    • Alternative search algorithm
    • Alternative buttons extension
Code Manager
  • Overview
  • Write code
  • Share(d) code

Large tables & performance

Table of Contents
  • Skip estimated row counts
  • Force user to press ENTER on new search
  • Progressively SHOW MORE button
Three ways to improve performance! There are more…
  • Skip estimated row counts
  • Force user to press ENTER on new search
  • Progressively SHOW MORE button

Skip estimated row counts #

Tables are using pagination by default. Although pagination improves the user experience, it slows down performance, especially for large tables. Pagination requires counting:
  1. All table rows
  2. All matching table rows

These counts consume resources and may slow down performance.

A row count estimate can be used to prevent row counts on every page view. Calculated and hard estimates can be defined for InnoDB tables, federated tables and views in the Data Explorer. The following summary information is shown for tables having the estimated row count enabled.
Without a filter:
~Showing 1 to 10 of 12,565,527 entries

With a filter:

~Showing 1 to 10 of 7017 entries (filtered from 12,565,527 total entries)

The estimated row count feature only eliminates the first row count mentioned earlier. The second row count (with filter) is still needed to show the number of entries (see information summary above). Unfortunately, this is mostly the most resource consuming query of all.

Data Tables supports option wpda_use_estimates_only to prevent this query as well. This option elimates the second large table horror count at the cost of incomplete summary information. As a result, queries on a table containing > 12.5 millions rows are lightning fast, even with a filter. But the summary information always shows:

~Showing 1 to 10 of 12,565,527 entries

And does not contain the number of rows filtered.

The following advance table setting will force the plugin to use only estimates

{ "wpda_use_estimates_only": true }

Force user to press ENTER on new search #

A search box is added to each data table by default. To prevent sending a request on every key pressed, the user needs to press the enter key explicitly. This is the default behavior since version 5.1.2 and helps to reduce network traffic and boost performance. The wpda_search_force_enter  option can be used the change this behavior. If set to false a request is send on each key pressed. Do not change this behavior for large tables!

Progressively SHOW MORE button #

The SHOW MORE button completely disables pagination. This also elimates the two earlier mentioned count statements, and can therefor be regarded as an alternative for the estimated row count feature, especially with large tables. The SHOW MORE button feature is part of the free version.

  • Read more about the progressively SHOW MORE button
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on 2023-01-13
Advanced settingsProgressively SHOW MORE

Submit a Comment Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • Skip estimated row counts
  • Force user to press ENTER on new search
  • Progressively SHOW MORE button

Links

Blogs
Tutorials
Demos

Socials

LinkedIn
Twitter

Get in touch

Premium support
Free support forum
Contact us

Resources

WordPress plugin directory
YouTube tutorials

Passionate Programmers B.V. © 2017 - 2023 All rights reserved