DB2 9.7 新特性 - 内联 LOB 的使用
2010-08-06 00:00:00 来源:WEB开发网查看原图(大图)
如图 3 所示,如果没有采用内联 LOB 技术,LOB 存放在分开的表空间中是不会被压缩的。深度压缩只会压缩存储与基本表中的数据。本案例中采用内联 LOB 后,总的大小与不采用内联 LOB 压缩后的大小相同。这虽然只是一种巧合,但还是说明采用内联后,表的总大小变小了。在不启用压缩的情况下,内联 LOB 节省空间的好处还不是很明显。采用了内联 LOB 并压缩后的效果非常惊人,案例表的存储开销只用了原先存储的 38%。
内联 LOB 的性能
内联 LOB 减少存储开销的好处已经在本次应用中得到了体现。这是内联 LOB 影响的一方面。内联 LOB 影响的另外一方面是提高访问 LOB 数据的查询的性能。
LOB 分开存放于不同的表空间中,对 LOB 的查询不但要访问基本表,还需要访问 LOB 表空间,查询的开销很大,往往会造成应用程序中的瓶颈。内联 LOB 可以解决这样的问题,对 LOB 的查询只需要直接访问基本表,不需要执行附加的 I/O。
内联的 LOB 可以被压缩。深度压缩技术对于性能的影响同样适用于此。访问压缩后的数据提高了 I/O 的利用,查询性能也会得到提高。
内联 LOB 确实可以提高对 LOB 查询的性能,但在应用的过程中还需要注意。因为 LOB 数据被存放在表行中,也就是说原先的行记录大小增加了,这样在数据页中存放的行记录数目就变少了。这样很可能会影响非 LOB 查询的性能,因为一个查询或许会需要读入更多的数据页才能完成检索。所以在实际应用过程中需要权衡,如果应用程序对非 LOB 查询的性能要求很高,则慎重考虑是否使用该项技术。
总结
本文阐述了 DB2 9.7 的内联 LOB 技术原理和实现。相比于传统的存储 LOB 技术,提供了可选择的存储方式,帮助提高处理大对象的性能,减少存储开销。但是同时,内联 LOB 技术是一把双刃剑。内联 LOB 的使用有一定的限制,也有可能会影响到非 LOB 处理的性能。所以在实际应用中,需要根据对数据表的实际操作侧重点,斟酌如何使用好内联 LOB 技术。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接