#SQLite #Performance
Android Room Hidden Costs
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
Android Room Hidden Costs
При использовании Room Android разработчики зачастую использую реактивные стримы (RxJava, Coroutines Flow) для получения всех изменений в данных. Важная особенность этого процесса, что при вставке любых данных выполняется повторный запрос в БД. В статье разбирается как можно оптимизировать это.
Полноценно сделать это не получилось, также автор не разобрал что будет в случае выполнения транзакций.
#SQLite
Полнотекстовый поиск FTS3, FTS4 и FTS5 в Android
Full Text Search (FTS) - инструмент, который позволит вам эффективно искать данный в SQLite БД. Одной из явных отличительных особенностей ее является поддержка Unicode, что позволяет делать текстовый поиск не только в латинице
В статье разбирается:
👉 как работать с FTS в Android
👉 что происходит под капотом (виртуальные таблицы)
👉 сравнение различных версий FTS
👉 интеграция FTS 5 через отдельную библиотеки (придется отдельно подключать SQLite)
Полнотекстовый поиск FTS3, FTS4 и FTS5 в Android
Full Text Search (FTS) - инструмент, который позволит вам эффективно искать данный в SQLite БД. Одной из явных отличительных особенностей ее является поддержка Unicode, что позволяет делать текстовый поиск не только в латинице
В статье разбирается:
👉 как работать с FTS в Android
👉 что происходит под капотом (виртуальные таблицы)
👉 сравнение различных версий FTS
👉 интеграция FTS 5 через отдельную библиотеки (придется отдельно подключать SQLite)
#Room #SQLite
Room auto-migrations
В следующей версией Room (2.4.0) появится использовать автоматическую миграции при изменении структуры БД. Поддерживаются простые случаи такие как обновление колонки и удаление/добавление таблицы, а для более сложных вам надо будет указать какие изменения произошли.
В статье разбираются все особенности работы новой возможности будущей версии Room
Room auto-migrations
В следующей версией Room (2.4.0) появится использовать автоматическую миграции при изменении структуры БД. Поддерживаются простые случаи такие как обновление колонки и удаление/добавление таблицы, а для более сложных вам надо будет указать какие изменения произошли.
В статье разбираются все особенности работы новой возможности будущей версии Room
#SQLite #Room
Используем join в SQLite-запросах Room для android
Демонстрация работы JOIN запросов, поддержка которых появилась в Room 2.4.0-alpha02
Используем join в SQLite-запросах Room для android
Демонстрация работы JOIN запросов, поддержка которых появилась в Room 2.4.0-alpha02
На сайте developers.android.com появился раздел с лучшими практиками для высокой производительности SQLite:
👉 Выставляем настройки SQLite (тут)
👉 Правильно проектируйте таблицы с лучшими практиками (тут)
👉 Правильно делайте запросы в БД (тут)
👉 Анализируйте с помощь тулинга работу SQLite (тут)
#sqlite #performance
👉 Выставляем настройки SQLite (тут)
👉 Правильно проектируйте таблицы с лучшими практиками (тут)
👉 Правильно делайте запросы в БД (тут)
👉 Анализируйте с помощь тулинга работу SQLite (тут)
#sqlite #performance
👍62👎8❤1
Если вы используете Room, то я рекомендую вам почитать статью (EN, 6 мин, ссылка без VPN) про то как устроена эта библиотека: вставка, обновление, удаление и получение данных из БД.
#sqlite #jetpack
#sqlite #jetpack
👍21❤2
Улучшения SQLIte. Новое API для улучшения чтобы использовать больше возможностей движка SQLite:
👉 beginTransactionReadOnly() - транзакции только для чтения
👉 createRawStatement() - выполнение сырых SQL запросов
👉 getLastChangedRowCount() - количество строк которые были добавлены, обновлены, удалены
👉 getLastInsertRowId() - id посленей добавленой строки
👉 getTotalChangedRowCount() - общее количество измененных строк в рамках текущего сессии Базы Данных
#android15 #sqlite
👉 beginTransactionReadOnly() - транзакции только для чтения
👉 createRawStatement() - выполнение сырых SQL запросов
👉 getLastChangedRowCount() - количество строк которые были добавлены, обновлены, удалены
👉 getLastInsertRowId() - id посленей добавленой строки
👉 getTotalChangedRowCount() - общее количество измененных строк в рамках текущего сессии Базы Данных
#android15 #sqlite
👍20
На сайте Android Developers почитайте рекомендации про работе с SQLite:
👉 Конфигурация БД
👉 Эффективное объявление схемы БД
👉 Ускорение запросов в БД
👉 Инструменты для анализа
#sqlite #performance
👉 Конфигурация БД
👉 Эффективное объявление схемы БД
👉 Ускорение запросов в БД
👉 Инструменты для анализа
#sqlite #performance
👍14