User tests: Successful: Unsuccessful:
Pull Request for Issue # .
It is not actually a fix, but rather demo and try to find out why List query is slow for site with large amount of articles.
After some debugging I found that MySQL is ignoring a few indexes while runing query from getListQuery()
, but only for large amount of Articles. And for the Testing sample data these indexes working very well.
The ignored indexes:
#__languages
: idx_langcode
#__users
: PRIMARY
#__workflow_associations
: PRIMARY
#__workflow_stages
: PRIMARY
#__workflows
: PRIMARY
If someone have an idea how to make it work without FORCE INDEX
that would be nice.
There probably also other reasons, that I did not found.
Note: The code in PR will not work with PostgreSQL.
Create a site with 20k articles (more is better). Can use following plugin to generate random content https://github.com/Fedik/plg_sampledata_bigdata
Enable debug.
Open list of articles in administrator.
Look for time in the debug bar.
Also can enable "Query profiling" and "Query explain" in debug plugin, and check them for the list query in the debug bar before and after PR.
Around ~2s
Around ~500ms
Please select:
Related issue:
Status | New | ⇒ | Pending |
Category | ⇒ | Administration com_content Front End |
Title |
|