MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
基礎となる InnoDB
テーブル (デフォルトでは test.demo_test
) には、標準 SQL インタフェースを介してアクセスできます。 ただし、いくつかの制約があります。
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
および daemon_memcached_w_batch_size
を 1
のデフォルト値から大幅に増やすと、各操作間でテーブルがロックされる可能性が高くなり、テーブルに対する DDL ステートメントが防止されます。