14.21.5.5 使 DML 语句适应于内存缓存操作

基准测试 table 明,daemon_memcached插件比DML操作(插入,更新和删除)可加快查询的速度。因此,请考虑将最初的开发工作重点放在受 I/O 约束的写密集型应用程序上,并寻找机会将daemon_memcached插件与 MySQL 一起用于新的写密集型应用程序。

单行 DML 语句是最容易变成memcached操作的语句类型。 INSERT变成addUPDATE变成setincrdecr,并且DELETE变成delete。通过 memcached 接口发出的这些操作保证仅影响一行,因为* key *在 table 中是唯一的。

在以下 SQL 示例中,t1table 示基于innodb_memcache.containerstable 中的配置用于 memcached 操作的 table。 keykey_columns下列出的列,而valvalue_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 TABLEDELETE语句从 table 中删除了所有行,它们与flush_all操作相对应,其中t1被配置为 memcached 操作的 table,如上例所示。

TRUNCATE TABLE t1;
DELETE FROM t1;