您可以通过标准 SQL 接口
访问基础InnoDB
表(默认情况下)。test.demo_test
但是,有一些限制:
当查询也通过 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 | +------+------+------+------+-----------+------+------+------+------+------+------+
当使用同样通过memcached接口访问的 SQL 修改表时,您可以将memcached操作配置为定期启动一个新事务,而不是为每个读取操作启动一个新事务。此行为由
daemon_memcached_r_batch_size
选项控制。如果此选项设置为大于 的值1
,则使用 SQL 对表所做的更改不会立即对memcached 操作可见。对于事务中的所有操作,该
InnoDB
表是 IS(意向共享)或 IX(意向排他)锁定。如果您 从默认值daemon_memcached_r_batch_size
和 大幅增加,则表很可能在每次操作之间被锁定,从而防止 表上的DDL语句。daemon_memcached_w_batch_size
1