GBase 8a通过内存永久缓冲表数据来减少磁盘IO提高性能

GBase 8a数据库集群,提供了内存缓冲热数据的功能来减少磁盘IO,当有新数据访问被缓冲时,如果内存占用已经超限,则部分已经缓冲的数据将被换出内存。如果部分频繁访问的表,数据量相对内存也不是很大,可以通过GBase 8a内置的功能,将数据永久缓冲在内存里,不再换出。

语法

缓冲

ALTER TABLE [vc_name.][database_name.]table_name CACHE [ (column_lists) ];

释放

ALTER TABLE [vc_name.][database_name.]table_name NOCACHE [ (column_lists) ]

说明

vc_name vc 名,可选项。
database_name 数据库名,可选项。
table_name 表名
column_lists 列名称,可选参数。指定多列时,之间用英文“,” 隔开

注意:cache时,会将对应的数据全部装载到缓冲,需要一些时间。如果内存不足,则不会缓冲。

样例

缓冲整个表

gbase> alter table td2 cache;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

缓冲表部分列

gbase> alter table td2 cache (id,d);
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

释放整个表

gbase> alter table td2 nocache;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

释放表部分列

gbase> alter table td2 nocache (id);
Query OK, 0 rows affected (Elapsed: 00:00:00.00)