• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 在基础InnoDB表上执行DML和DDL语句

    您可以通过标准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_sizedaemon_memcached_w_batch_size从它们的默认值显着1,该表是最有可能的每个操作之间的锁定,防止 DDL语句在表。