Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  ...  /  ベースとなる InnoDB テーブルでの DML および DDL ステートメントの実行

このページは機械翻訳したものです。

15.20.6.6 ベースとなる InnoDB テーブルでの DML および DDL ステートメントの実行

基礎となる InnoDB テーブル (デフォルトでは test.demo_test) には、標準 SQL インタフェースを介してアクセスできます。 ただし、いくつかの制約があります。

  • memcached インタフェースを介してもアクセスされるテーブルをクエリーする場合は、すべての書込み操作の後ではなく、定期的にコミットされるように memcached 操作を構成できることに注意してください。 この動作は、daemon_memcached_w_batch_size オプションによって制御されます。 このオプションが 1 より大きい値に設定されている場合は、READ UNCOMMITTED クエリーを使用して、挿入されたばかりの行を検索します。

    Press CTRL+C to copy
    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_size1 のデフォルト値から大幅に増やすと、各操作間でテーブルがロックされる可能性が高くなり、テーブルに対する DDL ステートメントが防止されます。