Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103720812
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-12 23:43:08

   来源:DB2 开发者园地    作者:Blair Adamache

现在您创建了一个缓冲池。对于本示例,我们将使用 8K 页面大小,尽管 16K 和 32K 页面大小也是允许的。(如果是在 Windows 上,要使用 2GB 以上的内存,则必须使用大于 4K 的页面大小。)必须为扩充存储器启用缓冲池,可以使用 EXTENDED STORAGE 关键字做到。 highmem 是我为这个缓冲池选择的名称。其大小 n 取决于您希望这个缓冲池占用的内存数量:

CREATE BUFFERPOOL highmem SIZE n

PAGESIZE 8K EXTENDED STORAGE

  现在创建一个表空间,并将它分配到这个缓冲池:

CREATE TABLESPACE highmem_tbsp PAGESIZE 8K

MANAGED BY SYSTEM

USING ('C:\highmemdir)

BUFFERPOOL highmem

  注:表空间的页面大小必须与该缓冲池的页面大小相匹配,并且该缓冲池由名称来标识。如果您只在这个表空间中创建一个表,而这个表空间又是该缓冲池中唯一的表空间,那么当访问这个表中的数据时,就增大了数据留在内存中的机会。但对表进行排序时仍可能会溢出,因此请确保有一个已创建了相匹配的页面大小的系统临时表空间:

CREATE SYSTEM TEMPORARY TABLESPACE highmem_temp PAGESIZE 8K

MANAGED BY SYSTEM

USING ('C:\highmemtemp') BUFFERPOOL highmem

  现在准备在该表空间中创建表:

create table memory_hog (col1 int) in highmem_tbsp

  部分还是全部 AWE?由您来判断。

  Windows 2000 能够通过 Microsoft Address Windowing Extensions(AWE)在 32 位世界中映射越过 4 GB 内存界线的数据。DB2 版本 7.2(或带有修订包 3 的版本 7.1)支持这个特性。Windows 2000 Advanced Server 最多支持 8 GB 内存,而 Windows 2000 Data Center Server 最多支持 64 GB 内存。

  在最终的分析中,您可能需要做一个选择,这个选择与高性能数据库设计所需的颗粒度是背道而驰的。可以假定,您将考虑的用于上述技术的数据库需要最佳性能 — 最终,如果性能不重要,为什么要将数据库放到拥有大量内存的机器上?此类数据库倾向于将用户数据存储在数据库管理存储器(Database Managed Storage (DMS))中,将原始设备(raw device)用作容器。按照大多数人的意见:如果您管理一个具有众多概要文件和用户要求很高的数据库,那么,需要投入大量时间对数据库进行调整和计划,这样才能预测数据的增长并在原始设备容器上分配足够的空间。用这种思想,可以知道系统管理存储器(SMS)表空间只适于系统数据(临时表空间和目录表空间)和必须对其进行少量维护的数据库,因为,这两者数量太多,因而无法保证对其设计和维护进行大量投资。

阅读(380) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~