Requête avec blob très lente.
Bonjour, je dispose d'un script contenant le backup de ma base et je souhate l'exécuter. J'ai donc codé ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Session session = HibernateSessionFactory.getSession();
Transaction transaction;
InputStream ips = new FileInputStream(backupScript);
BufferedInputStream bis= new BufferedInputStream(ips);
InputStreamReader ipsr = new InputStreamReader(bis);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
String sqlQuery = "";
while ((ligne = br.readLine()) != null) {
if (ligne.startsWith("--")) {
continue;
}
sqlQuery += ligne;
if (ligne.endsWith(";")) {
transaction = session.beginTransaction();
session.createSQLQuery(sqlQuery).executeUpdate();
transaction.commit();
sqlQuery = "";
}
}
br.close();
session.close(); |
Cela fonctionne, mais c'est très très lent et me bloque Eclipse durant l'exécution. L'exécution de ce script ne prend que quelques secondes avec Mysql Administrator (5-6sec). Le problème se situe au niveau des insertions contenant des blobs. Sauriez vous où se situe le problème et comment le résoudre ?