Yes, it is possible to add these calculated columns to the MySQL as a calculated column. You could do it in the API but doing such a thing inside the database is like factor 100x faster.
The problem is the efficient usage of indices.
We do not write the queries manually therefore we can't optimize it to maximum efficiency. We'd loose the whole query flexibility that we have right now and also nobody can manage the amount of queries we use in the client today.
This problem goes way beyond SQL best practices. It's a more complex problem. But also it seemed to be hit by a bit of miscoordination. I wasn't aware it was removed, otherwise I would have made workaround suggestions.
I'm in discussion with Sheikah now.
Cloud storage for our purposes is around 5€ per month per 100GB. Previous calculation said we have a growth of about 20GB per month, so the costs are constantly increasing. Just keeping everything forever is not a viable option.
Also running it on a private copy is essentially the same as deleting for 99% of the users who just see "ah, replay not available, well bad luck".
@LargeMaleBennis It wouldn't change search speed, because we would only delete the replay file, not any records in the database.
@Tagada But essentially you are only interested in valid ranked games right? Out of our 9.2 million games only 3 million are valid ranked games.
Currently the server disk is slowly running full (~50gb left before trouble).
Out of the 900 GB disk space used, 660GB of it is replays. Old replays back to 2014, broken replays, desynced replays, replays of invalid games, replays of single players, replays against AI and so forth and so on.
We could try to move them somewhere else, but is anybody really interested in that? I'd rather move on to some sort of cleanup policy, such as "don't keep replays older than 3 years".
What are you thoughts on that?
Then you have some serious file permission problems in Windows. Try to check them and maybe make it read/writable for all users. Can't really help you there.
Does the mentioned file exist on your disk (C:\ProgramData\FAForever\bin\ForgedAlliance.exe) ?
This is not a problem with the game. I have a rough understand of why this error could happen, I don't understand why it doesn't happen for everyone.
In your case there is a very simple solution:
Use the latest release candidate of the client. The code that causes problems for you does no longer exist there: https://github.com/FAForever/downlords-faf-client/releases/tag/v1.4.0-RC3
From past experience with other users you most probably have more than 1 account and you are trying to login with the wrong one.
Is your client trying to auto-login? In that case, abort it and try to manually enter username and password.