数据库中的表空间(tablespace) 是一个逻辑层,一些数据库对象(比如表、视图和索引)驻留在这里。一个数据库可以有多个表空间。在首次创建数据库时,DB2 会自动地创建一组表空间。
在 Control Center 中,展开 HELLOWLD 并点击 Table Spaces。应该会在 Control Center 右边的窗口中看到三个表空间,如图 7 所示:
图 7. Control Center Table Spaces 视图
这些表空间是 DB2 在创建数据库 HWLD 时创建的。SYSCATSPACE 和 TEMPSPACE1 都是系统表空间,不能删除或重新创建它们。SYSCATSPACE 是系统编目表空间,用来存储关于数据库的元信息。TEMPSPACE1 在某些数据库操作期间用来存储临时结果。USERSPACE1 是默认的用户表空间,用来存储表、视图和索引等用户数据。任何具有足够权力的 DB2 用户都可以删除和重新创建 USERSPACE1 或者创建其他用户表空间。
SMS 或 DMS 表空间
在创建表空间时,可以选择表空间是 SMS 表空间还是 DMS 表空间。SMS 代表 System Managed Space,DMS 代表 Database Managed Space。在 SMS 表空间中,空间由操作系统的文件系统管理,会根据需要分配空间。SMS 表空间需要的初始设置比较少,管理方面需要考虑的因素少,而且一般更容易创建和使用,因为空间会在需要时自动地分配。在 DMS 表空间中,空间由 DB2 管理。DMS 表空间需要在创建时预先分配空间,所以需要进行比较多的初始设置工作,管理方面也有更多需要考虑的因素。但是,它为用户提供了更大的灵活性,可以更好地控制数据的布局并改进数据访问的性能。在一般情况下,经过良好设计和调优的 DMS 表空间可以提供比相似的 SMS 表空间更好的性能。
在 Table Spaces 视图中,点击每个表空间。查看在右下方的窗口中显示的详细信息。SYSCATSPACE 和 USERSPACE1 都是 DMS 表空间,TEMPSPACE1 是 SMS 表空间。您还可以创建自己的表空间。
缓冲池
缓冲池(bu