Choisir dans MySQL entre le type ENUM et une table externe avec une jointure

La plupart des utilisateurs ne connaissent pas ou peu les avantages et les inconvénients du Type ENUM proposé par la base de données MySQL. Résultat:  par peur de l’inconnu, les développeurs n’utilisent tout simplement pas cette fonctionnalité qui permet pourtant une amélioration significative des performances (dans certains cas)  sans  perdre en simplicité. Opposé à la contrainte CHECK connu par nos amis ORACLE, son utilisation et son fonctionnement est très différent, et ces 2 fonctionnalités ne font tout simplement pas la même chose. Cet article devrait vous permettre de savoir dans quel cas il est intéressant d’utiliser le type ENUM, et surtout dans quel cas ne pas utiliser le type ENUM.

Lire la suite

Performance de la fonction SQL batchUpdate de Spring

Cette semaine, j’ai du mettre à jour un batch d’import de données d’un fichier plat dans une base de données. L’optimisation de ce script n’ayant jamais été une priorité, le batch importait environ 60000 lignes et prenait entre 15 et 20 minutes. En quelques ajustement, j’ai réussit à importer plusieurs centaines milliers de lignes en à peine quelques minutes. Aussi étonnant que cela puisse paraître, l’optimisation d’un tel script ne nécessite pas de connaissances particulières ni même de mettre en place une solution de multi-threading utilisant les ordinateurs de la NASA ou ceux de Google. Tout est proposé de manière native au sein de la librairie JDBC (depuis la version 2) et permet le traitement par lot des requêtes SQL . Par conséquent, toute les solutions reposant sur cette API de connexion à un base de donnée peuvent également utiliser cette fonctionnalité, que ce soit JdbcTemplate pour Spring ou encore Hibernate.

Lire la suite

Apache Software Fondation lance un ultimatum à Oracle

Avec Oracle, les évènements se répètent mais ne se ressemblent pas, on savait depuis longtemps que l’open-source n’était pas la priorité numéro un de cette compagnie, spécialiste de la base de données du même nom. Ces derniers temps, les accusations, procès et plaintes se font de tous les côtés, et de nombreux articles sur internet en font écho.

Apache Logo

Depuis quelques temps, c’est la fondation Apache Software (très présente dans les environnements serveurs avec Apache et Tomcat) qui voit ses intérêts et ses perspectives d’avenir se réduire par la seule volonté d’Oracle, ce dernier lui refuse en effet l’utilisation de certaines licences pour son projet Harmony. C’est pourquoi elle lance aujourd’hui un ultimatum à Oracle pour obtenir gain de cause, et menace de bloquer la roadmap de Java 7 lors du Java Community Process (JCP).

Lire la suite

Optimiser ses requêtes JDBC en java

Lorsque vous utilisez un driver JDBC Java, le ResultSet vous permettant de récupérer chaque ligne retournée par votre requête peut être lent. Le ResultSet pour certain driver ne retourne qu’une ligne à la fois, si la connexion entre votre serveur web et votre base de données est lente, vos requêtes vont s’en trouver ralentit. En effet, chaque ligne retourné par votre SELECT et récupéré par le ResultSet correspond à un appel à votre base de donnée.

Lire la suite