Android Room одновременно читает с сопрограммами - PullRequest
0 голосов
/ 18 июня 2019

Я использую Room с сопрограммами для хранения / извлечения данных. Из другого поста я увидел, что технически вы можете получить неограниченное количество запросов из базы данных одновременно. В настоящее время я работаю с очень большим набором данных, который хочу получить. Это порядка 10 000 000 строк. Я разделил это на более мелкие чтения, скажем, на 4 (250000), которые все происходят параллельно. Это уменьшает мое время поиска на 30-40%, что я и хочу (это относительно чтения из одной БД). Что меня беспокоит, так это то, что когда я увеличиваю это значение разделения на 4, оно на самом деле замедляется. Я думаю, что добавление большего количества параллельных сопрограмм приведет к сокращению времени.

Я проверил, что все сопрограммы, работающие параллельно, являются уникальными потоками, поэтому они не конфликтуют таким образом.

Кто-нибудь знает, почему это происходит? Я подумал, может быть, Room / SQL имеет ограничение на количество одновременных подключений, однако это не должно быть основано на (5) в этой ссылке:

SQlite Часто задаваемые вопросы

Любая помощь будет оценена!

...