В моем приложении я работаю с большой базой данных. В таблице содержится около 75000 записей (всего 6 таблиц). Я хочу получить данные из трех разных таблиц за раз. I завершил это. Но процесс поиска был медленным. Как я могу оптимизировать процесс поиска?Лучший способ поиска базы данных sqlite
0
A
ответ
0
Не имея возможности увидеть структуру таблицы (или запрос), первое, что я предлагаю, это добавить некоторые индексы к таблицам.
Допустим, у вас есть несколько таблиц, как:
Author
id
last_name
first_name
Subject
id
name
Book
id
title
author_id
subject_id
и Вы желаете, чтобы получить всю информацию о каждой из книг, которые автор с last_name="Smith"
и first_name="John"
писал. Ваш запрос может выглядеть следующим образом:
SELECT * FROM Book b
LEFT JOIN Subject s
ON s.id=b.subject_id
LEFT JOIN Author a
ON a.id=b.author_id
WHERE a.last_name='Smith'
AND a.first_name='John';
Там вы хотите last_name
столбец в таблице Author
иметь индекс (и, возможно, first_name
тоже).
1
Возможно, вам захочется использовать полнотекстовую поисковую систему и вместо этого выполнить запросы SELECT ... MATCH. Обратите внимание, что вам нужно включить механизм FTS (он по умолчанию отключен) и создавать виртуальные таблицы вместо обычных таблиц. Вы можете узнать больше об этом here.
Смежные вопросы
- 1. Лучший способ поиска иерархических данных
- 2. Android - Лучший способ использования SQLite?
- 3. Лучший способ перезаписать таблицу базы данных SQLite в Android?
- 4. Android SQLite: какой лучший способ создать копию базы данных
- 5. Лучший способ получить данные из базы данных SQLite в Android
- 6. Лучший способ справиться с созданием и чтением базы данных sqlite
- 7. Лучший способ организации базы данных?
- 8. Лучший способ хранения идентификаторов базы данных и имен поиска
- 9. Лучший способ поиска пользователей
- 10. Как повысить эффективность поиска базы данных SQLite?
- 11. Лучший способ поиска объекта
- 12. Лучший способ синхронизации базы данных клиента с базой данных сервера
- 13. Лучший способ поиска текстовой структуры?
- 14. Лучший способ поиска данных в xml-файлах?
- 15. Лучший способ поиска зашифрованных данных внутри MySQL
- 16. Лучший способ поиска HashSet
- 17. Лучший способ поиска событий?
- 18. Лучший способ поиска событий?
- 19. Лучший способ поиска массива?
- 20. Лучший способ поиска
- 21. Лучший способ хранения данных
- 22. - лучший способ? при создании объектов для SQLite
- 23. Простой способ создания базы данных SQLite?
- 24. Лучший способ обработки ошибок базы данных
- 25. лучший способ разбиения базы данных оракула?
- 26. лучший способ уловить ошибки ограничения базы данных
- 27. Лучший способ локализовать записи базы данных
- 28. Лучший способ создания базы данных в MySql
- 29. Symfony2 Лучший способ реализовать переводы базы данных
- 30. Лучший способ визуализации базы данных mysql
Я не думаю, что это хорошая идея хранить столько записей на телефоне. То, что я рекомендовал бы (и я делаю это для приложения, которое я пишу тоже), - это хранить записи на сервере где-то и запрашивать его через Интернет через SOAP/JSON/что угодно. – Nippysaurus
Не могли бы вы показать нам запрос? –
Если вы разместите свой запрос, кто-то, вероятно, попытается его оптимизировать. Для начала попробуйте создать индекс для некоторых столбцов. – cnu