We have a problem under editors role as we click the archives, we get the following message
DB Error: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
The hosting service says, “the reason you see this error is because your query is (apparently) too big. Unfortunately, we cannot change this setting because it helps to protect our servers against queries which will take too much server power.”
Please don’t laugh at my naivety,
From what i find during compring the codes in my files ‘JournalStatisticsDAO.inc.php’, those changes have already been committed. I think the changes were made during updating the OJS.
If I am wrong, please let me know where.
If i am not wrong, what options do i have now?
No, you’re correct – that change was included in OJS 2.4.8.
I’m not sure why such a small installation would be encountering this problem. Could you send me a private message with details to access a database dump? Also, could you check the size of the MAX_JOIN_SIZE setting in your MySQL configuration?
Regards,
Alec Smecher
Public Knowledge Project Team
I installed your database and set the row limit down to 4000000 in the my.cnf configuration file and was able to replicate the problem.
Reviewing your database, there is nothing unusual there and it is quite a small data set. There are OJS users running the same version with orders of magnitude more content on unremarkable servers.
The query in question is a complex one and I’m sure that there are improvements that could be made, but nothing jumped out at me as the cause of a combinatorial explosion. And I’m confident we would have seen this in practical cases with larger clients if it were an obvious problem.
I suspect that the MySQL configuration limit for MAX_JOIN_SIZE is simply too low for an application that’s running joins of this complexity. Unfortunately my best recommendation is to find another host if they’re unwilling to increase the limit.
Regards,
Alec Smecher
Public Knowledge Project Team
I don’t have a specific recommendation to suggest – but the default (as per my machine and elsewhere) seems to be 18446744073709551615, which is massively bigger than the 4000000 your current host has set. Anecdotally we have only heard very rarely about limits like yours being imposed (as per these two linked threads).
Regards,
Alec Smecher
Public Knowledge Project Team
We have a similar problem in the backend, in the “submissions under review” section.
DB Error: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
I have emailed the provider (hosteurope), they won’t change the SELECT value because they say they do not change third party skripts.
Is there a workaround? Will it help if I do an update or delete something via FTP?
This is the first time this error has occurred to my knowledge.
We are using OJS Version 2.4.8.1
Best regards
Sören, Future of Food Journal
I have no idea but I believe upgrading or deleting something via FTP would not help.
If you have tried the above given advises by @asmecher, then I hope increasing the SELECT value may be the only solution.
Our problem was solved after we changed our hosting company.
I know this has been a while. I am having the same problem here. May I ask which hosting service you are using, which provides a higher Max size? Thank you.