[# Consejos importantes cuando trabajamos con el driver JDBC para SQLite ]

Cuando usamos el driver JDBC para SQLite debemos tener en cuenta ciertos puntos que son muy importantes para evitar errores a futuro y optimizar nuestro código. A continuación detallare algunos puntos que considero importantes:
- Debido a que solo una conexión puede escribir en la base de datos a la vez nunca debemos olvidarnos cerrar los ResultSet que abramos. Caso contrario se generara el típico error “Database is locked” el cual se detalla en la siguiente página.
- Es altamente recomendable el uso de PreparedStatement, esto es debido a que la sentencia SQL es analizada de forma intermedia por SQLite esperando a ser llenada con el o los valores que deseemos, reutilizando el PreparedStatement guardado para analizarlo nuevamente.
- Siempre recuerden usar transacciones al momento de realizar un ABM (Alta-Baja-Modificación), más aun si es necesario realizar varias operaciones juntas. Por ejemplo:
PreparedStatement prepStmt = conn.prepareStatement("insert into mitabla values (?);"); conn.setAutoCommit(false); for (int i = 0; i < 100000; i++) { prepStmt.setInt(1, i); prepStmt.executeUpdate(); } conn.commit();
- Cambiando el AutoCommit a false lo que logramos es que todos los cambios que debamos hacer en la base se traten como uno solo logrando un mejor rendimiento y una optimización total. Caso contrario, si no modificamos este parámetro cada operación sobre la base es tomada de forma individual.
- Si tenemos que realizar muchas operaciones juntas sobre una base de datos debemos usar lotes, JDBC nos provee varias maneras de aplicar un lote de rutinas. Por ejemplo:
PreparedStatement prepStmt = conn.prepareStatement("insert into mitabla values (?);"); for (int i = 0; i < 100000; i++) { prepStmt.setInt(1, i); prepStmt.addBatch; } conn.setAutoCommit(false); prepStmt.executeBatch(); conn.commit();
De esta manera se ira agregando una línea al lote para luego ejecutar todo el lote de una sola vez, cabe recalcar que el rendimiento se podrá apreciar cuando debemos realizar muchas operaciones.
Si bien estos consejos se pueden aplicar a cualquier base de datos es muy importante tenerlos en cuenta al momento de desarrollar una aplicación. Siempre es una buena practica tratar de mejorar y optimizar el código de nuestras aplicaciones.
Richard07
Entradas relacionadas
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.