caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* OCamlODBC
@ 2000-06-04 11:01 Maxence Guesdon
       [not found] ` <200006051535.RAA02366@cerbere.sbuilders.com>
  0 siblings, 1 reply; 2+ messages in thread
From: Maxence Guesdon @ 2000-06-04 11:01 UTC (permalink / raw)
  To: caml list

[French version follows]

Re-Hello OCamlers !

I'm pleased to announce OCamlODBC 1.0, an OCaml library that you can use
to access any database with ODBC support. I already used it with
OpenIngres and MySQL. All you need is the ODBC driver of your favorite
database.
You'll find it here :

http://maxence.guesdon.free.fr/tools_en.html


Sincerely,

    Maxence Guesdon

----------------------
[Version anglaise ci-dessus]

Re-Bnjour à tous les Camleurs !

J'ai le plaisir d'annoncer la disponibilité de OCamlODBC 1.0, une
bibliothèque permettant d'accéder à toute base de données supportant le
protocole ODBC. Je l'ai déjà utilisé avec OpenIngres et MySQL. Vous
n'aurez besoin que du driver ODBC de votre base de données préférée.
Vous le trouverez à l'adresse suivante :
http://maxence.guesdon.free.fr/tools.html

Cordialement,

        Maxence Guesdon




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: OCamlODBC
       [not found] ` <200006051535.RAA02366@cerbere.sbuilders.com>
@ 2000-06-05 16:58   ` Maxence Guesdon
  0 siblings, 0 replies; 2+ messages in thread
From: Maxence Guesdon @ 2000-06-05 16:58 UTC (permalink / raw)
  To: Pascal Brisset, caml list

Bonjour,

 
>  > I'm pleased to announce OCamlODBC 1.0, an OCaml library that you can use
> 
> Les performances sont-elles satisfaisantes ? J'ai été très déçu par
> l'accès à MySQL par la bibliothèque ODBC d'un autre langage
> fonctionnel (60 requêtes/s, contre 1200 avec /usr/bin/mysql
> exécutant un script). Je ne sais pas si c'était dû au langage,
> à la bibliothèque, à iodbc ou à mysqlodbc.

Je n'ai pas réellement fait de test de performance. J'ai exécuté
quelques centaines de requêtes à la suite et la vitesse convenait à mes
besoins. Cependant, l'utilisation avec MySQL s'est révélée beaucoup,
beaucoup plus rapide qu'avec Open Ingres, sans doute une question de
driver ODBC.
D'autre part, comme vous pourrez le voir, la bibliothèque fournit deux
fonctions d'exécution de requête (execute et execute_2). La première
(execute) tente de ramener tous les enregistrements résultats et ensuite
de construire la liste de listes OCaml. Hum, hum, c'est vraiment pas bon
quand il y a beaucoup de résultats car :
1- cela prend beaucoup de mémoire 
2- même avec quelques options qui vont bien pour le GC (notamment
réserver quelques dizaines de Mega), ça prend beaucoup de temps.

D'où la fonction execute_2, qui récupère quelques enregistrements,
construit la liste de listes, récupère d'autres enregistrements, les
ajoute à la liste et ainsi de suite. C'est mieux car le GC à l'occasion
de faire ses choses en mémoire, mais sur les requêtes qui retournent
beaucoup de données c'est encore un peu lent (voire lent tout court !).

Pour l'instant je me sers surtout de la base de données pour (surprise
!) stocker des données et les lire, disons au rythme de l'utilisateur
car ce sont surtout ses clics qui déclenchent quelques mises à jour
par-ci par-là.

Faites-moi savoir si vous faites quelques tests de performance...
 
Cordialement,

MG





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-06-06  6:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-04 11:01 OCamlODBC Maxence Guesdon
     [not found] ` <200006051535.RAA02366@cerbere.sbuilders.com>
2000-06-05 16:58   ` OCamlODBC Maxence Guesdon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).