MySQL 8.0 参考手册 / 第 15 章 InnoDB 存储引擎 / 15.20 InnoDB 内存缓存插件 / 15.20.6 为 InnoDB memcached 插件编写应用程序 /
14.21.5.5 使 DML 语句适应 memcached 操作
基准测试表明该daemon_memcached
插件加速DML操作(插入、更新和删除)的速度超过了它加速查询的速度。因此,考虑将初始开发工作集中在 I/O 绑定的写入密集型应用程序上,并寻找机会将 MySQL 与
daemon_memcached
插件一起用于新的写入密集型应用程序。
单行 DML 语句是最容易转换为memcached
操作的语句类型。
INSERT
成为add
,
UPDATE
成为set
,
incr
或decr
,
DELETE
成为delete
。当通过memcached接口发出时,这些操作保证只影响一行,因为key
在表中是唯一的。
在下面的SQL示例中,根据表中的配置,t1
引用用于memcached操作的
innodb_memcache.containers
表。
key
指列在下的列
key_columns
,并val
指列在 下的列
value_columns
。
INSERT INTO t1 (key,val) VALUES (some_key,some_value);
SELECT val FROM t1 WHERE key = some_key;
UPDATE t1 SET val = new_value WHERE key = some_key;
UPDATE t1 SET val = val + x WHERE key = some_key;
DELETE FROM t1 WHERE key = some_key;
以下TRUNCATE TABLE
and
DELETE
语句从表中删除所有行,对应于
flush_all
操作,其中
t1
配置为
memcached操作的表,如上例所示。
TRUNCATE TABLE t1;
DELETE FROM t1;