Spec-Zone .ru
спецификации, руководства, описания, API
|
Если есть достаточно многие блоки в ключевом кэше, чтобы содержать блоки всего, индексируют, или по крайней мере блоки, соответствующие его узлам, не являющимся листом, имеет смысл предварительно загружать ключевой кэш с, индексируют блоки прежде, чем начать использовать это. Предварительно загружение включает, Вы, чтобы поместить таблицу индексируете блоки в ключевой кэш-буфер самым эффективным способом: читая индексировать блоки из диска последовательно.
Без предварительно загружения блоки все еще помещаются в ключевой кэш как необходимый запросами. Хотя блоки останутся в кэше, потому что есть достаточно многие буферы для всех них, они выбираются от диска в произвольном порядке, и не последовательно.
Чтобы предварительно загрузить индексирование в кэш, используйте LOAD INDEX INTO CACHE
оператор. Например, следующий оператор предварительно
загружает узлы (индексируйте блоки) индексирует таблиц 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 |+---------+--------------+----------+----------+
IGNORE LEAVES
модификатор заставляет только блоки для узлов, не являющихся листом
индексирования быть предварительно загруженными. Таким образом оператор, показанный предварительные нагрузки,
все индексируют блоки от t1
, но только блоки для узлов, не являющихся листом от
t2
.
Если индексирование было присвоено ключевому кэшу, используя a CACHE INDEX
оператор, предварительно загружающие места индексируют блоки в тот
кэш. Иначе, индексирование загружается в ключевой кэш значения по умолчанию.