User tests: Successful: Unsuccessful:
Redo of #21871 .
performance
the $table->reorder()
was insanely invoked in the artcle model
Support for updates existed articles in joomla 3.x to 4.0:
Two indexes have been added to speed up the order change.
JDEBUG ? $time = microtime(true) : null;
JDEBUG ? Log::addLogger(array('text_file' => 'testPR8576.php', ), Log::INFO) : null;
JDEBUG ? Log::add('prepareTable():' . round(microtime(true) - $time, 3), Log::INFO) : null;
/administrators/log/testPR8576.php
then
/administrators/log/testPR8576.php
the time needed for create an article is more huge than the time with this pr
the time for create an article is less with this pr
No
Status | New | ⇒ | Pending |
Category | ⇒ | SQL Administration com_admin Postgresql com_content Installation |
Labels |
Added:
?
|
Hello:
I'm sorry but I'm not able to run com_overload:
"Error. Your Overload installation is broken; please re-install. Alternatively, extract the installation archive and copy the fof directory inside your site's libraries directory."
I've reinstalled but not sure where fof directory is.
I've tested too with overload CLI, from Nicolas, but not log file was created.
You need to use the 4.0-dev branch in my fork :)
@pabloarias i've attached in the Testing Instructions an installable .zip files
@SharkyKZ the query should be fixed now
for the warning on mysql 8 we should run this on mysql 8
UPDATE `#__content` AS n
INNER JOIN (
SELECT id, ROW_NUMBER() OVER (PARTITION BY catid ORDER BY ordering DESC) AS new_ordering
FROM `#__content`
) AS n2
SET n.ordering = n2.new_ordering
WHERE n.id = n2.id;
but ROW_NUMBER()
is not present in 5.x and we still support those versions....
i'm open to suggestion
When I try to create 1000 (or 1) articles, the following error message appears:
Localhost reports the following: AJAX Loading Error: Internal Server Error
System information:
PHP Version 7.4.8
Web Server Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.8
WebServer to PHP Interface apache2handler
Joomla! Version Joomla! 4.0.0-beta4-dev Development [ Mañana ] 29-July-2020 18:21 GMT
Are there any suggestions?
Now getting #1048 - Column 'ordering' cannot be null
when running the query.
The update query in administrator/components/com_admin/sql/updates/mysql/4.0.0-2020-08-02.sql
.
Hello:
I've changed file ArticleModel.php but adding 7 decimals in such of 3. I added use Joomla\CMS\Log\Log in line 38;
I see that adding an article (after generating 1000) time is 0.0024579 s.
After applying path time is 0.0004079 s. Small than before!
I don't understand, why have I to delete configuration.php and reinstall in testing process?
Thank you and best regards
@pabloarias You have to make a new install in order to get the structural changes in the database (new indexes). Alternatively you could apply the changes of this PR and then run the update SQL script for your database type, e.g. either administrator/components/com_admin/sql/updates/mysql/4.0.0-2020-08-02.sql
if you have MySQL or MariaDB, or administrator/components/com_admin/sql/updates/postgresql/4.0.0-2020-08-02.sql
if you have PostgreSQL. But you have to replace the leading #__
in the table names by your real database prefix.
@alikon Correct me if there is something wrong in my statement.
I have tested this item
Hello:
I've changed a little bit testing instructions.
PHP Version 7.3.21.
MariaDB 10.3.22-MariaDB-1ubuntu1
Testing instructions followed:
First articles are created quickly but later creation last a little bit more.
Not able to create another 1000 articles with com_overload, so:
I see that time to create all 1000 are so quick, from 1 to 1000.
Thank you and best regards
Hello:
I've tested successfully but changing a little bit testing instructions.
PHP Version 7.3.21.
MariaDB 10.3.22-MariaDB-1ubuntu1
Testing instructions followed:
First articles are created quickly but later creation last a little bit more.
Not able to create another 1000 articles with com_overload, so:
I see that time to create all 1000 are so quick, from 1 to 1000.
Thank you and best regards
I have tested this item
I've tested using the next configurations:
I followed the same steps as Pablo and the result of the test is that it took less time to generate the 1000 items.
In the first attempt (before applying the patch) 2 minutes and 9 seconds had elapsed, while in the second and always according to the log file the time elapsed was 1 minute and 53 seconds.
@alikon Please comment #30258 (comment) before going RTC.
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2021-06-26 08:08:11 |
Closed_By | ⇒ | alikon |
I ran the update SQL and it set all
ordering
values to1
. Also generates a deprecation notice:Using MySQL 8.0.16.