- 0
- 0
- 约2.07万字
- 约 21页
- 2016-12-06 发布于重庆
- 举报
H2Database講座
结果集
限制行数
在结果集返回给应用之前,所有记录行都已经由数据库准备好,数据库服务器目前并不支持游标,如果应用只需要结果集的前面部分行,可以通过限制结果集的尺寸提高性能,可以在查询中使用LIMIT (如:SELECT * FROM TEST LIMIT 100),或者通过使用 Statement.setMaxRows(max)。
大结果集和外部排序
大的结果集将被缓存到磁盘,阀值可以通过使用语句SET MAX_MEMORY_ROWS来设置。如果使用 ORDER BY,外部排序算法将用来进行排序,在这种情况下,每块行数据使用快排序进行排序,再将其写到磁盘上,当读取数据时,块数据再被合并。
大对象
存储和读大对象
有些数据对象可能没有存放在内存中,如CLOB(文本数据类型)和BLOB(二进制数据类型),对于这些数据类型,对象并不是被全部读入内存中,而是使用数据流(stream)。存储 BLOB 对象,使用PreparedStatement.setBinaryStream,存储 CLOB,使用 PreparedStatement.setCharacterStream,读取对象 BLOB,使用ResultSet.getBinaryStream,读取 CLOB对象,使用ResultSet.getCharacterStream。当使用客户端/服务器模式时,大的 BLOB 和 CLOB对象被存储在客户端的临时文件中。
使用 CLOB/BLOB
数据库使用单独的文件存储大对象LOB (CLOB 和 BLOB)。小的LOB对象就地存储,阀值通过 MAX_LENGTH_INPLACE_LOB来设置,但都是通过上面的方法来使用CLOB/BLOB对象,因此BLOB和CLOB绝不要被使用在最大尺寸在200个字节以内的字段上,最好的阀值以来具体使用的案例。从就地存储的地方读取LOB比从文件要快,但是这将会使那些不包含这列的操作也会性能下降。
压缩大对象
CLOB 和 BLOB 的值可以使用SET COMPRESS_LOB来压缩。LZF 算法比较快,但需要更多的磁盘空间。默认情况下,通常为了提升写操作的性能,压缩都被屏蔽掉。如果存储大量的可压缩的值,如XML、HTML、text和未压缩的二进制文件,压缩可以节省大量的存储空间(有时超过50%),甚至有时读操作也会加快。
连接表
数据库支持连接表,连接表就是表并不存在于当前数据库,而是存在另外一个数据库,通过一个连接名能直接访问另外一个数据库中的表。创建一张连接表,使用 CREATE LINKED TABLE 语句:
CREATE LINKED TABLE LINK(org.postgresql.Driver, jdbc:postgresql:test, sa, sa, TEST);
可以按通常的方式去访问这张表,无论什么时候,被连接的表都能被访问,数据库通过JDBC发起连接表的查询,如上面的例子,如果发起查询 SELECT * FROM LINK WHERE ID=1,立即就发起对PostgreSQL数据库的查询: SELECT * FROM TEST WHERE ID=?,同样的规则发生在插入和更新语句中,只有简单语句能使用在目标数据库,这意味这联合查询是不允许的,预编译尽可能的被使用。
查询目标表上的执行语句,可以设置跟踪级别为3。
如果有多个连接表指向同一个数据库(使用相同的数据库URL),数据库连接是共享的,如果要屏蔽掉,可以通过设置系统属性 h2.shareLinkedConnections=false.
CREATE LINKED TABLE 语句支持schema 名字作为一个可选的参数。
事务隔离级别
全部的数据库操作语句 (DML)都提供了事务隔离。大多数的数据库定义语句 (DDL) 都是直接提交当前事务的,详细看SQL语法
数据库目前支持下面的几种事务隔离级别:
Read Committed这是默认的隔离级别,使用该级别有更好的并发性。通过使用SQL语句 SET LOCK_MODE 3 设置该事务级别,或者通过增加;LOCK_MODE=3到数据库URL中,如:jdbc:h2:~/test;LOCK_MODE=3
Serializable启用该级别,可以通过执行SQL语句 SET LOCK_MODE 1或者增加 ;LOCK_MODE=1 到数据库URL中,如:jdbc:h2:~/test;LOCK_MODE=1
Read Uncommitted该级别意味着事务隔离被屏蔽。启用该级别,通过执行SQL语句 SET LOCK_MODE 0或者增加 ;LOCK_MODE=0 到数据库URL中,如:jdbc:h2:~/test;LOCK_MODE=0
当使用隔离级别为 Se
您可能关注的文档
最近下载
- 关节置换课件.pptx VIP
- 脉冲微分方程边值问题解的存在性:理论与应用新探.docx VIP
- 2025高考物理步步高同步练习必修3第十章电势差与电场强度的关系含答案.docx VIP
- 人教版高中数学必修一章节思维导图全套.pdf VIP
- 深度解析(2026)《GAT 147-2019法医学 尸体检验技术总则》.pptx VIP
- 变分法研究几类分数阶脉冲微分方分程边值问题解的存在性.docx VIP
- 《中小学生欺凌防治制度机制指引》全文.pdf VIP
- 普通话水平考必试读词语表.doc VIP
- 汽车租赁合同模板范本.docx VIP
- 2025高考物理步步高同步练习选修1第一章 动量专题强化3 弹簧—小球模型 滑块—光滑斜(曲)面模型含答案.docx VIP
原创力文档

文档评论(0)