2010-11-02 11 views
5

¿Alguien sabe si hay alguna manera de poder cambiar el modo de una tabla existente en un HSQLDB? Por defecto, todos ellos están en modo de memoria, pero para el momento, algunos de ellos se volvieron muy grandes y, por lo tanto, se comen toda mi memoria (RAM). Quiero convertirlos al modo "en caché", pero no encontré ninguna solución. Sin embargo, es muy importante no perderse ningún dato existente.HSQLDB - Cambiar el modo de tabla

Gracias,

Respuesta

4

En la versión 2.0 uso:

SET MESA TIPO mitabla en caché

En versiones anteriores: Apagar la base de datos, editar el archivo .script y cambiar "CREATE TABLE MITABLA. .. "o" CREAR TABLA DE MEMORIA MYTABLE ... "para" CREAR MESA MESA CACHED "y luego guardar. Cuando se abre la base de datos, cambiará el tipo de tabla. A continuación, debe cerrar la base de datos una vez para finalizar el cambio.

+0

¡Gracias! Como tengo la versión 1.7.2, ninguno de esos dos métodos funciona. Estoy considerando ahora una actualización de DB. – Beethoven

0

tablas almacenadas en caché se crean con el CREATE TABLE en caché. Solo la parte de sus datos o índices se almacena en la memoria , lo que permite tablas grandes que tomarían hasta varios cientos de megabytes de memoria. Otra ventaja de de las tablas en caché es que el motor de base de datos tarda menos tiempo en iniciar cuando se utiliza una tabla en caché para grandes cantidades de datos. La desventaja de las tablas almacenadas en la memoria caché es una reducción en la velocidad de . No utilice tablas en caché si su conjunto de datos es relativamente pequeño. En una aplicación con algunas tablas pequeñas y algunas grandes, es mejor usar el modo MEMORIA predeterminado para las tablas pequeñas.

http://hsqldb.org/doc/guide/guide.html

+0

Lo sé. Me preguntaba cómo podría uno cambiar este modo sin tener que eliminar la tabla existente y crear una nueva. Quiero decir, algún tipo de "alter table" y cambiar el modo. – Beethoven

Cuestiones relacionadas