14.18.5.6 기반이되는 InnoDB 테이블의 DML 및 DDL 문 실행
표준 SQL 인터페이스를 통해 InnoDB 테이블 (기본은 test.demo_test
)에 액세스 할 수 있습니다. 그러나 몇 가지 제한 사항이 있습니다.
memcached 인터페이스를 통해 액세스하는 테이블에서 SQL을 통해 쿼리를 실행하면 memcached 작업은 모든 쓰기 작업 후에는없고 정기적으로 위탁하도록 구성 할 수 있습니다. 이 동작은
daemon_memcached_w_batch_size
옵션에 의해 제어됩니다. 이 옵션이 1보다 큰 값으로 설정되어있는 경우 삽입 된 막 행을 찾으려면READ UNCOMMITTED
쿼리를 사용합니다.mysql> set session TRANSACTION ISOLATION LEVEL read uncommitted; Query OK, 0 rows affected (0.00 sec) 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 | +------+------+------+------+-----------+------+------+------+------+------+------+ 1 row in set (0.00 sec)
memcached 인터페이스를 통해 액세스하는 테이블을 SQL 통해 변경하는 경우, memcached 작업을 모든 읽기 작업 후에는없고 정기적으로 새로운 트랜잭션을 시작하도록 구성 할 수 있습니다. 이 동작은
daemon_memcached_r_batch_size
옵션에 의해 제어됩니다. 이 옵션이 1보다 큰 값으로 설정되어있는 경우 ...InnoDB
테이블은 트랜잭션의 모든 작업 IS (공유 인텐션) 또는 IX (독점적 인 텐션)에 잠겨 있습니다.daemon_memcached_r_batch_size
및daemon_memcached_w_batch_size
를 기본값 1보다 크게 증가시킨 경우, 테이블은 대부분의 경우 각 작업 사이에서 의도적으로 잠겨 사용자가 테이블에 DDL 문을 실행할 수 없습니다.