non, effectivement je n'y avais pas pensé;
mais tu sais un peu comment ça s'utilise ? Visiblement il faut s'inscrire pour accèder aux forums...
Je te demande parce que voilà les résultats :
-------------------------------- db40 ----------------------------------
17 doublons, 200 ajoutés, nombre de boucles :218
temps total : 7140ms
temps moyen : 32.75229357798165ms
et c'est pas top top...
et voilà le code source (j'ai pas accès au ftp d'où je suis pour mettre à jour l'archive)
[^] # Re: SQLite est peut-être en C++, mais a un driver JDBC
Posté par Mat (site web personnel) . En réponse au journal Petit bench de bases de données embarquées. Évalué à 1.
mais tu sais un peu comment ça s'utilise ? Visiblement il faut s'inscrire pour accèder aux forums...
Je te demande parce que voilà les résultats :
-------------------------------- db40 ----------------------------------
17 doublons, 200 ajoutés, nombre de boucles :218
temps total : 7140ms
temps moyen : 32.75229357798165ms
et c'est pas top top...
et voilà le code source (j'ai pas accès au ftp d'où je suis pour mettre à jour l'archive)
package dup.dbengines;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import dup.CheckDup;
public class Db4oCheckDup extends CheckDup {
class Dup {
private byte[] digest ;
private Long date_insert ;
public Dup(byte [] digest) {
this.digest = digest ;
this.date_insert = null ;
}
public Dup(byte [] digest,long date_insert) {
this.digest = digest ;
this.date_insert = new Long(date_insert) ;
}
public long getDatedate_insert() {
return date_insert!=null?date_insert.longValue():0 ;
}
public byte[] getDigest() {
return digest;
}
}
public static final String DB_ENGINE_NAME = "db40" ;
private ObjectContainer db=Db4o.openFile(DB_ENGINE_NAME);
public Connection openConnection() throws ClassNotFoundException,
SQLException {
return null;
}
public void shutdown() throws SQLException {
}
public synchronized void beginTransaction() throws SQLException {
}
public synchronized void commit() throws SQLException {
db.commit() ;
}
public synchronized void rollback() throws SQLException {
db.rollback() ;
}
public void closeConnection() throws SQLException {
db.close() ;
}
public synchronized boolean isDup(byte[] digest) throws SQLException {
Dup d = new Dup(digest) ;
ObjectSet result=db.get(d);
return result.size() > 0 ;
}
public synchronized void add(byte[] digest) throws SQLException {
Dup d = new Dup(digest, new Date().getTime()) ;
db.set(d) ;
}
public synchronized void createTableDup() throws SQLException {
}
public synchronized void dropTableDup() throws SQLException {
}
public synchronized void purge() throws SQLException {
}
}