You can access the underlying InnoDB
table
(which is test.demo_test
by default) through
standard SQL interfaces. However, there are some restrictions:
When querying a table that is also accessed through the memcached interface, remember that memcached operations can be configured to be committed periodically rather than after every write operation. This behavior is controlled by the
daemon_memcached_w_batch_size
option. If this option is set to a value greater than1
, useREAD UNCOMMITTED
queries to find rows that were just inserted.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 | +------+------+------+------+-----------+------+------+------+------+------+------+
When modifying a table using SQL that is also accessed through the memcached interface, you can configure memcached operations to start a new transaction periodically rather than for every read operation. This behavior is controlled by the
daemon_memcached_r_batch_size
option. If this option is set to a value greater than1
, changes made to the table using SQL are not immediately visible to memcached operations.The
InnoDB
table is either IS (intention shared) or IX (intention exclusive) locked for all operations in a transaction. If you increasedaemon_memcached_r_batch_size
anddaemon_memcached_w_batch_size
substantially from their default value of1
, the table is most likely locked between each operation, preventing DDL statements on the table.