SELECT
HANDLER
INSERT
INSERT DELAYED
UPDATE
DELETE
TRUNCATE
REPLACE
LOAD DATA INFILE
DO
Buy this Reference Manual in softcover from Barnes & Noble!
HANDLER
HANDLER tbl_name OPEN [ AS alias ] HANDLER tbl_name READ index_name { = | >= | <= | < } (value1,value2,...) [ WHERE ... ] [LIMIT ... ] HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST } [ WHERE ... ] [LIMIT ... ] HANDLER tbl_name READ { FIRST | NEXT } [ WHERE ... ] [LIMIT ... ] HANDLER tbl_name CLOSE
Оператор HANDLER
обеспечивает прямой доступ к интерфейсу обработчика таблиц MyISAM
, минуя оптимизатор SQL. Следовательно, этот оператор работает быстрее, чем SELECT
.
Первая форма оператора HANDLER
открывает таблицу, делая ее доступной для последовательности команд HANDLER ... READ
. Этот объект недоступен другим потокам и не будет закрыт, пока данный поток не вызовет HANDLER tbl_name CLOSE
или сам поток не будет уничтожен.
Вторая форма выбирает одну строку (или больше - в соответствии с установкой в выражении LIMIT
), для которой(ых) указанный индекс соответствует заданному условию и условие в выражении WHERE
также выполняется. Если индекс состоит из нескольких частей (охватывает несколько столбцов), то составляющие его величины указываются в виде разделенного запятыми списка. Обеспечиваются величины только для нескольких первых столбцов.
Третья форма выбирает одну строку (или больше - в соответствии с установкой в выражении LIMIT
), из таблицы; в порядке указания индексов в соответствии с условием WHERE
.
Четвертая форма (без указания индексов) выбирает одну строку (или больше - в соответствии с установкой в выражении LIMIT
), из таблицы, используя естественный порядок строк (как они хранятся в файле данных), в соответствии с условием WHERE
. Эта форма работает быстрее, чем HANDLER tbl_name READ index_name
, в тех случаях, когда желателен просмотр всей таблицы.
Оператор HANDLER ... CLOSE
закрывает таблицу, открытую оператором HANDLER ... OPEN
.
Оператор HANDLER
представляет собой что-то наподобие низкоуровневой команды. Например, он не обеспечивает целостности таблицы. Т.е. HANDLER ... OPEN
НЕ делает моментального снимка таблицы и НЕ блокирует ее. Отсюда следует, что после вызова команды HANDLER ... OPEN
данные таблицы могут быть модифицированы (этим или любым другим потоком), а сами модификации в просмотрах таблицы при помощи HANDLER ... NEXT
или HANDLER ... PREV
могут появляться только частично.
Add your own comment.