Вы фактически ставите свою проблему не на ту часть вашей базы данных.
Для SQLite максимальная длина строки *1003* составляет 1 миллиард байт, поэтому ваши опасения по поводу ваших 10-20 строк по 200 байт каждая на самом деле не считаются такими большими.
Нет ничего страшного в том, чтобы хранить ваш массив как одну длинную строку в вашей базе данных. Особенно, когда он нигде не приближается к максимальному пределу строки.
Ваше время запроса к базе данных не станет больше из-за большой длины вашей строки. Здесь реальная проблема - обработка, которую вы будете выполнять над этой строкой, чтобы превратить ее обратно в массив. Как правило, если строка слишком длинная, реальный удар по производительности происходит, когда вы сглаживаете массив в строку и когда вы преобразуете эту строку обратно в массив.
Однако, как правило, это то, для чего вы будете показывать пользователям индикатор загрузки.
Для хранения массива в базе данных, на самом деле есть только два способа сделать это:
Свести массив в одну строку и сохранить строку как TEXT
Создайте таблицу, предназначенную для хранения отдельных элементов строки, и включите столбец для внешнего ключа, который позволяет связать эти строки с одним и тем же массивом. Затем вы будете хранить каждый элемент ваших массивов String в виде строки в этой таблице.
В зависимости от того, что вам нужно, один дизайн лучше другого.
Например, вы обычно предпочитаете вторую реализацию, если ваше приложение требует от вас постоянно редактировать отдельные элементы массива.
Для такого примера не имеет большого смысла использовать первое решение, потому что это означает, что каждый раз, когда вы хотите редактировать содержимое массива, вы будете извлекать весь массив целиком. Это нецелесообразно, когда вы хотите только извлечь или отредактировать определенную часть этой строки.
Следовательно, в таком примере гораздо практичнее хранить отдельные элементы массивов в отдельных строках таблицы, предназначенных для данных этого типа. Вы будете запрашивать только нужную вам строку и обновлять только нужную.
Итак, чтобы ответить на ваши вопросы, на самом деле есть только два способа сохранить ваш массив String как тип TEXT в вашей базе данных SQLite. Оба способа работают, и реальная задача состоит в том, чтобы решить, какое решение лучше всего соответствует вашим потребностям.
Если вашему приложению требуется, чтобы вы каждый раз сохраняли и извлекали массив целиком, тогда более предпочтительным может быть метод String.
Но если ваше приложение требует от вас работы с отдельными элементами вашего массива, то использование метода таблицы будет более удобным.