H2 Base de données vs SQLite sous Android
En raison de la le manque de support de l'Unicode sur la base de données SQLite intégrée dans Android
Je suis surtout intéressé par la performance et la stabilité de H2 Base De Données vs Android SQLite
Êtes-vous les gars en l'utilisant?
Devrais-je être au courant de toute H2 base de données de défauts?
OriginalL'auteur Eduardo | 2010-07-27
Vous devez vous connecter pour publier un commentaire.
Les choses sont beaucoup mieux que ce que j'ai prévu. J'ai maintenant un téléphone Android (HTC Desire, Android 2.2) et j'ai fait un premier test.
D'ouverture et de fermeture d'une base de données est relativement lente jusqu'à présent (de l'ouverture d'une base de données existante pour la deuxième fois prend 0,2 secondes, la fermeture d'environ 0,2 secondes), mais sinon, il ressemble H2 exécute très bien sur Android, même si le Dalvik VM n'est pas encore optimisé comme un ordinateur de bureau de la JVM. Il est trop tôt pour donner des chiffres concrets, mais Android est maintenant prise en charge de la plateforme.
Il n'y a pas d'étape-par-étape, la seule documentation est h2database.com/html/tutorial.html#android
Je l'ai lu, c'est seulement après que je suis à la recherche d'un tutoriel, aussi j'ai posté une question à ce sujet, veuillez jetez un oeil stackoverflow.com/questions/7204785/...
OriginalL'auteur Thomas Mueller
Je serais également très intéressé par le monde réel des tests de performance pour le H2 de la base de données sur Android. Je pense que H2 sera beaucoup plus lente que SQLite, principalement parce que la machine virtuelle sur Android n'est toujours pas la grande. C'est mieux avec Android 2.2, mais je pense qu'il y a quand même une grande différence. Ma conjecture est que H2 est actuellement d'environ 10 fois plus lent. Mais c'est seulement une supposition.
Sur l'Unicode problème: ce que sur la conversion de chaînes UTF-8 avant de les ranger dans SQLite?
Je sais que c'est une douleur, mais qu'en est-il du stockage d'une colonne supplémentaire avec le "en majuscule' version des données? Ainsi, au lieu de CRÉER une TABLE d'ADRESSES(NOM VARCHAR(255)) vous avez CRÉER une TABLE d'ADRESSES(NOM VARCHAR(255), NAME_UPPER VARCHAR(255))
Vous pouvez simplement utiliser des colonnes de TEXTE; SQLite ignore VARCHAR longueurs de toute façon.
Pour SQLite le type de données TEXTE est le même que VARCHAR, mais pour d'autres bases de données différentes (TEXTE signifie généralement CLOB, qui est stocké à l'extérieur, et est donc plus lente, cela inclut H2). Les deux SQLite et H2 soutien de la définition des colonnes VARCHAR (sans la restriction de longueur), mais la plupart des autres bases de données ont besoin, et certains d'entre eux ont une limite de 255 caractères (je sais c'est bizarre).
En fait SQLite n'ai pas de soins si elle est de type VARCHAR/INT/MY_TYPE/OLOLO il n'a pas le type d'utilisation des chèques et peut stocker différents types dans la même colonne. Selon ce que vous utilisez. Comme sql_vatiant dans SQL Server
OriginalL'auteur Thomas Mueller