14.21.5.6 Выполнение DML и DDL-запросов к основной таблице InnoDB
Вы можете получить доступ к основной таблице InnoDB (которая по умолчанию является test.demo_test) через стандартные SQL-интерфейсы. Однако существуют некоторые ограничения:
-
При запросе к таблице, к которой также осуществляется доступ через интерфейс memcached, помните, что операции memcached могут быть сконфигурированы на периодическое подтверждение, а не после каждой операции записи. Это поведение контролируется параметром
daemon_memcached_w_batch_size. Если этот параметр установлен на значение больше, чем1, используйте запросыREAD UNCOMMITTED, чтобы найти только что вставленные строки.mysql>
SET SESSSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;mysql>SELECT * FROM demo_test;+------+------+------+------+-----------+------+------+------+------+------+------+ | cx | cy | c1 | cz | c2 | ca | CB | c3 | cu | c4 | C5 | +------+------+------+------+-----------+------+------+------+------+------+------+ | NULL | NULL | a11 | NULL | 123456789 | NULL | NULL | 10 | NULL | 3 | NULL | +------+------+------+------+-----------+------+------+------+------+------+------+ При изменении таблицы с использованием SQL, к которой также осуществляется доступ через интерфейс memcached, вы можете настроить операции memcached на периодический запуск новой транзакции, а не для каждой операции чтения. Это поведение контролируется параметром
daemon_memcached_r_batch_size. Если этот параметр установлен на значение больше, чем1, изменения, внесенные в таблицу с помощью SQL, не будут сразу видны операциям memcached.Таблица
InnoDBблокируется либо IS (intention shared), либо IX (intention exclusive) для всех операций в транзакции. Если вы существенно увеличите значенияdaemon_memcached_r_batch_sizeиdaemon_memcached_w_batch_sizeот их значения по умолчанию1, то таблица, скорее всего, будет блокироваться между каждой операцией, что помешает выполнению запросов к этой таблице.
© 2025 Oracle
Licensed under the GPLv2 License.