Le manuel du développeur Android semble préférer FTS3 dans SQLite DB lorsque la recherche est nécessaire. J'ai lu la description de FTS3 et il apparaît qu'il crée une table virtuelle au lieu d'une table permanente. Quelle est la différence entre une table virtuelle (FTS3) et une table normale dans SQLite? La table virtuelle est-elle permanente et reste dans la base de données même après avoir quitté l'application? Je vous remercie.Table normale vs table virtuelle SQLite DB
Répondre
Une table virtuelle permet au moteur SQLite d'accéder au contenu d'un magasin de données à l'aide d'un code (généralement) non SQLite. Cela permet au développeur d'ajouter des fonctionnalités personnalisées à SQLite.
Dans le cas de FTS, il ne faisait à l'origine pas partie du moteur SQLite. C'était un code externe à SQLite, qui permettait à l'utilisateur final de faire une recherche en texte intégral sur les données.
Une table virtuelle est-elle permanente? Cela dépend de l'implémentation. Pour FTS, les données sont permanentes. Cependant, vous pouvez créer une implémentation qui utilise la RAM pour le stockage - cela disparaîtra évidemment lorsque l'application sera terminée.
Plus sur les tables virtuelles: http://www.sqlite.org/vtab.html
Je pense qu'il est plus exact de dire que le guide de l'API pour la création d'une interface de recherche fait remarquer que FTS3 ne recherche en texte intégral beaucoup plus rapide que LIKE, en fonction des caractéristiques du recherche. Par exemple, une requête SQLite régulière utilisant LIKE autorise les caractères génériques, contrairement à une requête FTS3 utilisant MATCH. Si vous voulez rechercher des jetons, vous pouvez vouloir aller avec FTS3. Si vous faites un match imprécis, vous devez absolument y aller avec LIKE.
- 1. table virtuelle
- 2. Sqlite DB aucune telle table n'existe
- 3. Table virtuelle C++
- 4. SQLite Android - Table introuvable
- 5. Table TLB vs Page
- 6. aucune exception table SQLite
- 7. requête mysql table de relation normale vs table de realtionship concaténée
- 8. SQLite fulltext virtual table normalement utilisable?
- 9. Erreur de table virtuelle C++?
- 10. Table Sqlite introuvable
- 11. Confusion sur une table virtuelle
- 12. sqlite db dans l'application iphone erreur: pas une telle table
- 13. Comment insérer dans la table (sqlite db) dans iphone sdk
- 14. insertion de données dans la table DB SQLite
- 15. SQLite DB dans iOS App et ID de table
- 16. Supprimer le dernier élément de SQLite DB Table
- 17. Créer une table temporaire COMME une table normale
- 18. Table SQLite invalide sur iPhone?
- 19. Normal SELECT sur une table SQLite FTS
- 20. message Queues Vs DB Table Queue via CRON
- 21. Chargement de la table dans sqlite db en utilisant python: table introuvable
- 22. Comment supprimer la table SQlite?
- 23. table MySQL db requête
- 24. Zend DB Table Résumé
- 25. Django db Table delete
- 26. Rails custom db table
- 27. Refactoring de table DB
- 28. Table de réorganisation SQLite?
- 29. table SQLite pas créé
- 30. SQLite - tri d'une table
Je pense que les caractères génériques sont également autorisés lors de l'utilisation de MATCH. Vous avez juste besoin de mettre * basé sur ce que j'ai lu sur le site SQLite. – androidnerd