У меня есть приложение Java, которое анализирует файлы и сохраняет нужные мне данные в базе данных SQLite.
Я пытаюсь сохранить данные в удаленной базе данных MySQL, которая находится на сервере моего хоста.
Я переписал запросы, которые имели другой синтаксис, но у меня все еще есть проблема: это происходит намного медленнее, чем когда я делаю это локально, используя базу данных SQLite. Это то, с чем мне приходится жить, так как один локальный, а другой удаленное соединение, или я должен знать что-то, прежде чем продолжить?
В качестве примера: синтаксический анализ 636 файлов и сохранение всех необходимых мне данных (некоторые данные бесполезны, я должен отсортировать их и т. Д.) Занимает 2,5 минуты, когда я использую базу данных SQLite. Это примерно 4,24 файла в секунду. В среднем это занимает около 15 секунд на файл, когда я использую базу данных MySQL, поэтому это займет примерно в 63 раза больше времени при использовании базы данных MySQL.
Я думаю, что основная проблема может быть, но я не знаю, как ее решить: каждый файл имеет в среднем 190 вставок. Так как файлы представляют собой статистические таблицы для боулинг-центра, и каждая игра представляет собой ряд (60 игроков на лигу, умноженный на 3 игры), плюс некоторые проверки, чтобы увидеть, существует ли лига в таблице лиг, расписании и т. Д., Я не могу на самом деле просто делайте меньше вставок, так как вся информация важна.
Я думаю, что было бы очень полезно, если бы я мог сгруппировать все вкладыши для игровой части в одну большую вставку, но я понятия не имею, возможно ли это / как это возможно / если оно того стоит или если проблема в другом месте .
Я хотел бы знать, нахожусь ли я по крайней мере на правильном пути или мне нужно привыкнуть к своему приложению, которое занимает столько времени для хранения данных, поскольку оно подключено удаленно.