Spec-Zone .ru
спецификации, руководства, описания, API
|
LOAD INDEX INTO CACHEtbl_index_list
[,tbl_index_list
] ...tbl_index_list
:tbl_name
[PARTITION (partition_list
| ALL)] [[INDEX|KEY] (index_name
[,index_name
] ...)] [IGNORE LEAVES]partition_list
:partition_name
[,partition_name
][, ...]
LOAD INDEX INTO CACHE
предварительные нагрузки оператора, которые таблица
индексирует в ключевой кэш, которому она была присвоена явным CACHE INDEX
оператор, или в ключевой кэш значения по умолчанию иначе.
LOAD INDEX INTO CACHE
используется только для MyISAM
таблицы. В MySQL 5.7 это также поддерживается для разделенного MyISAM
таблицы;
кроме того, индексирует на разделенных таблицах, может быть предварительно загружен для один, несколько, или все
разделы.
IGNORE LEAVES
модификатор заставляет только блоки для узлов, не являющихся листом
индексирования быть предварительно загруженными.
IGNORE LEAVES
также поддерживается для разделенного MyISAM
таблицы.
Следующий оператор предварительно загружает узлы (индексируйте блоки) индексирует для таблиц t1
и t2
:
mysql> LOAD INDEX INTO CACHE t1, t2 IGNORE
LEAVES;
+---------+--------------+----------+----------+| Table | Op | Msg_type | Msg_text |+---------+--------------+----------+----------+| test.t1 | preload_keys | status | OK || test.t2 | preload_keys | status | OK |+---------+--------------+----------+----------+
Этот оператор предварительно загружает, все индексируют блоки от t1
. Это
предварительно загружает только блоки для узлов, не являющихся листом от t2
.
Синтаксис LOAD INDEX INTO CACHE
позволяет Вам определить, что только определенный
индексирует от таблицы, должен быть предварительно загружен. Текущие предварительные нагрузки реализации,
которые вся таблица индексирует в кэш, таким образом нет никакой причины определить что-либо кроме имени
таблицы.
В MySQL 5.7.1, gtid_next
должен быть установлен в AUTOMATIC
прежде,
чем сделать это заявление. Это ограничение не применяется в MySQL 5.7.2 или позже. (Ошибка #16062608, Ошибка
#16715809, Ошибка #69045)
В MySQL 5.7 возможно предварительно загрузить, индексирует на определенных разделах разделенных MyISAM
таблицы. Например, следующих 2 операторов, первые предварительные нагрузки
индексируют для раздела p0
из разделенной таблицы pt
,
в то время как вторые предварительные нагрузки индексирование для разделов p1
и
p3
из той же самой таблицы:
LOAD INDEX INTO CACHE pt PARTITION (p0);LOAD INDEX INTO CACHE pt PARTITION (p1, p3);
Предварительно загружать индексирование для всех разделов в таблице pt
, можно
использовать любой из следующих 2 операторов:
LOAD INDEX INTO CACHE pt PARTITION (ALL);LOAD INDEX INTO CACHE pt;
Эти два оператора, только показанные, эквивалентны, и выпускающий любого из них имеет точно тот же самый эффект.
Другими словами, если Вы хотите предварительно загрузить, индексирует для всех разделов разделенной таблицы,
тогда PARTITION (ALL)
пункт является дополнительным.
Когда предварительно загружение индексирует для многократных разделов, разделы не должны быть непрерывными, и Вы не обязаны перечислять их имена в любом определенном порядке.
LOAD INDEX INTO CACHE ... IGNORE LEAVES
у сбоев, если все не индексирует в
таблице, есть тот же самый размер блока. Можно определить, индексируют размеры блока для таблицы при
использовании myisamchk-dv
и проверки Blocksize
столбец.