If someone updates a po file with 100 translations – I need to figure out whether each translation is already in the database, and if not – insert it. The result looks like this (more about “looks” later):
This is just a snippet.
I am concerned that running an SQL query like this:
"SELECT Translation.TranslatedString FROM Translation,Language WHERE " . "Translation.LanguageID = Language.LanguageID AND Language.LanguageCode = '%s' " . "AND Translation.EnglishString = '%s'"
for every line uploaded might be a bit too much. Is it?
The prevailing wisdom on the internet seems to be that more than a few queries per page is too much. But I wonder if that’s for viewing content rather than uploading. Perhaps for uploading content this is not too bad. I mean I hope a lot of uploading is going to happen but that’s not the most common use case.
Regardless, I can’t think of an easy way to optimise this. I would have to spend a lot more time on the database design. Maybe when (if?) the site gets popular I will have the motivation to learn more fancy DB optimisations.