[Résolu] Performance du moteur HSQL

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
thierro
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 09 nov. 2012 22:34

[Résolu] Performance du moteur HSQL

Message par thierro »


La modération vous a écrit: Merci de faire un effort sur le titre de vos questions.
Ce n'est pas pour vous ennuyer. Il s'agit de penser à ceux qui chercheront sur ce même problème.
Ils risquent de ne pas s'arrêter sur ce fil car il ne reflète pas la problématique exposée.
C'est donc dans un souci de qualité afin d'avoir des titres clair et explicite.
Nous l'avons donc fait à votre place mais la prochaine fois, veuillez le faire par vous-même.
Merci de votre collaboration.

Bonjour

Mon projet base utilise une base de données HSQLBD intégré. Je ne suis pas très satisfait des performances. Certaines requêtes sont assez longues notamment quand j'ouvre les formulaires associés.
Les solutions : firebird intégré, ou base externe (postgre, HSQLBD, ...) sont elles meilleures ?

Nb : si je devrais modifier je souhaiterai que le portage ne soit pas trop complexe. C'est un autre critère

Par exemple j'ai essayé avec firebird intégré et mes tables posent souci car cette version de firebird ne reconnait pas le type boolean

En vous remerciant
Mac OsX 10.11.1, LibreOffice Version 5.0.2.2 en test
LibreOffice Version 3.6.3.2
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: Performance

Message par bm92 »

Bonjour,
D'abord ne pas oublier de compacter la base de données de temps en temps:
Prévention de la corruption des fichiers .odb

Pour "externaliser" la base de données, tu peux lire:
[Base] Attacher des tables HSQL
ou ce tutoriel complet et clair pour LibreOffice:
LibreOffice Base et HSQLDB, Pour en finir avec le mode intégré
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
thierro
Membre lOOyal
Membre lOOyal
Messages : 38
Inscription : 09 nov. 2012 22:34

Re: Performance

Message par thierro »

Bonjour

Merci pour votre réponse et le conseil que je fais régulièrement
Le livre met en avant les avantages robustesse de la base de donnée et accès multi utilisateurs pour les solutions d'externalisation

Par contre il n'est pas explicitement indiqué si en détachant sa base on gagne en terme de temps d'accès et de calcul sur des requêtes sql
Le moteur HSQLDB externe est il plus performant que le moteur interne si oui combien ?
Faut il mieux rester avec un moteur HSQLDB ou en choIsir un autre comme postgre, firebirdd ?

merci
Mac OsX 10.11.1, LibreOffice Version 5.0.2.2 en test
LibreOffice Version 3.6.3.2
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: Performance

Message par bm92 »

(Remarques générales d'un non-spécialiste)
thierro a écrit :Certaines requêtes sont assez longues notamment quand j'ouvre les formulaires associés.
La notion de délai de réponse admissible dépend de l'utilisation. Cela peut être 1 seconde, 10 secondes, ou plus.
Il faut aussi mettre ce délai en rapport à la taille de la base : 1000 enregistrements ou 1 million, ce n'est pas la même chose.

Je ne pense pas qu'il y ait gain de temps puisque HSQLDB met tout en mémoire. Il peut y avoir un gain de temps sur l'ouverture ou la fermeture du fichier odb, puisqu'il n'a plus à extraire/réinsérer la base de données.

Le temps d'exécution des requêtes SQL, pour n'importe quelle base, dépend non seulement de la complexité de la requête mais aussi de la structure de la base : tables, clés, index. Au lieu d'y stocker des gros objets (images), ne stocker que l'adresse (relative) des fichiers. On peut aussi utiliser des procédures stockées sur le serveur au lieu de requêtes SQL. Concevoir et gérer une base de données professionnelle demande des connaissances et de la pratique, certains en font même un métier.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial