MySQL - 将索引加载到缓存中语句



MySQL CACHE INDEX 语句用于将表的索引分配给键缓存。此语句仅适用于 MyISAM 表。您可以使用 SET GLOBAL 语句创建键缓存。

MySQL LOAD INDEX INTO CACHE 语句用于将表的索引预加载到默认键缓存或使用 CACHE INDEX 语句分配给它的缓存中。此语句仅适用于 MyISAM 表。

语法

以下是 MySQL LOAD INDEX INTO CACHE 语句的语法:

LOAD INDEX INTO CACHE
   tbl_name
      [PARTITION (partition_list)]
      [{INDEX|KEY} (index_name[, index_name] ...)]
      [IGNORE LEAVES]

示例

假设我们使用 CREATE 语句创建了新的数据库和名为 temp 的表,如下所示:

CREATE TABLE temp (
ID INT, 
Name VARCHAR(100), 
Age INT, 
City VARCHAR(100)) ENGINE = MyISAM ;

现在,让我们向 temp 表中插入一些记录:

INSERT INTO temp values
(1, 'Radha', 29, 'Vishakhapatnam'),
(2, 'Dev', 30, 'Hyderabad');

还假设我们在上面创建的表上创建了索引:

CREATE INDEX sample_index ON temp (name) USING BTREE;
CREATE INDEX composite_index on temp (ID, Name); 

现在,使用 SET GLOBAL 语句创建一个新的键缓存:

SET GLOBAL TestCache.key_buffer_size=128*1024;

让我们将表 temp 的索引分配给键缓存 TestCache

CACHE INDEX temp IN TestCache;

输出

以下是上述查询的输出:

操作 消息类型 消息文本
sample.temp 分配到键缓存 状态 OK

以下查询预加载上述分配的键缓存:

LOAD INDEX INTO CACHE temp IGNORE LEAVES;

输出

执行上述查询后,将产生以下输出:

操作 消息类型 消息文本
demo.temp 预加载键 状态 OK
广告
© . All rights reserved.