正在阅读:Java学习:HSQLDB文档(一)Java学习:HSQLDB文档(一)

2004-02-14 09:34 出处:PConline 作者:hoseheart/CSDN 责任编辑:linjixiong
全内存访问(All-In-Memory)模式      所谓全内存访问模式,就是所有的数据(包括索引和记录)都保存在主内存里。这意味着数据库的大小是受到内存大小的限制的(不能超过内存的大小)。支持这种模式的原因是:      在非日志模式下,这种模式稍微快些      可以在APPLET下使用      用来存储临时数据(应用系统的数据缓存)All-In-Memory      JDBC URL如下:      jdbc:hsqldb:.      内存和硬盘结合访问模式      在这种模式下,数据库的改变会写入到硬盘中,这就意味着在数据库启动时,内存里的表会根据他们的数据重新创建。或者说,可以创建表来保存数据,在访问数据库时,只有少量记录时保存在内存里的。可以在创建的时候使用'CREATE CACHED TABLE'来代替'CREATE TABLE'。从而支持大表(这些表的记录相对于内存来说太大了)。被缓存的表的索引也可以保存到硬盘中。因此,数据库的大小就可以不受到内存大小的限制。进入缓存表要比从内存表里获取数据要慢些。从1.7.0版本开始,支持第三种模式:数据可以存储在文本文件(如CSV格式的文件)中。对应的语句时:'CREATE TEXT TABLE'。      在关闭数据库前,当前状态会被保存到磁盘中。缓存表中的数据会被保存到一个单独的文件中。启动HSQLDB时,数据库从磁盘中载入数据(SQL脚本被执行),如果数据库被毁坏(比如使用Ctrl+C或者断电),数据也不会丢失。这是因为当下次数据库重新启动时,它使用脚本恢复到最近一次(有脚本文件的那次)的状态。      混合绑定模式      所有的模式都可以在一个程序里使用,系统可以在统一时间使用这四种模式,去连接四种不同的数据库,例如:      c1=DriverManager.getConnection("jdbc:hsqldb:.","sa","");
  c2=DriverManager.getConnection("jdbc:hsqldb:test","sa","");
  c3=DriverManager.getConnection("jdbc:hsqldb:http://dbserver","sa","");
  c4=DriverManager.getConnection("jdbc:hsqldb:hsql://dbserver","sa","");      在这个例子中,四个连接被打开:      c1是内存数据库;c2打开的是本地数据库test;c3使用http协议连接dbserver数据库;c4也是连接dbserver机器,但是使用的是更快的hsql协议。这里的限制就是:只有一个进程内的全内存进程是可用的。      希望看到更多更经典的开发技巧,请随时刷新《开发特区》栏目。
察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品