#### 15.20.6.6 对底层 InnoDB 表执行 DML 和 DDL 语句

您可以访问底层`InnoDB`表（即`test.demo_test`默认情况下）通过标准 SQL 接口。但是，有一些限制：

-   当查询一个也通过**内存缓存**界面，记住**内存缓存**可以将操作配置为定期提交，而不是在每次写入操作之后提交。这种行为是由控制[`daemon_memcached_w_batch_size`](innodb-parameters.html#sysvar_daemon_memcached_w_batch_size)选项。如果此选项设置为大于`1`， 采用[`阅读未提交`](innodb-transaction-isolation-levels.html#isolevel_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 修改表时，该表也通过**内存缓存**接口，可以配置**内存缓存**定期启动新事务的操作，而不是每次读取操作。这种行为是由控制[`daemon_memcached_r_batch_size`](innodb-parameters.html#sysvar_daemon_memcached_r_batch_size)选项。如果此选项设置为大于`1`，使用 SQL 对表所做的更改不会立即对**内存缓存**操作。

-   这`InnoDB`对于事务中的所有操作，表要么是 IS（意图共享），要么是 IX（意图独占）锁定。如果你增加[`daemon_memcached_r_batch_size`](innodb-parameters.html#sysvar_daemon_memcached_r_batch_size)和[`daemon_memcached_w_batch_size`](innodb-parameters.html#sysvar_daemon_memcached_w_batch_size)基本上从他们的默认值`1`，表很可能在每个操作之间被锁定，防止[DDL](glossary.html#glos_ddl)表上的陈述。
