MySQL - LOAD INDEX INTO CACHE 语句
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 ;
现在,让我们在临时表中插入一些记录 -
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;
输出
以下是上述查询的输出 -
Table | Op | Msg_type | Msg_text |
---|---|---|---|
sample.temp | assign_to_keycache | status | OK |
以下查询预加载上述已分配的键缓存 -
LOAD INDEX INTO CACHE temp IGNORE LEAVES;
输出
执行上述查询后,将产生以下输出 -
Table | Op | Msg_type | Msg_text |
---|---|---|---|
demo.temp | preload_keys | status | OK |