14.21.5.5 使 DML 语句适应于内存缓存操作
基准测试 table 明,daemon_memcached
插件比DML操作(插入,更新和删除)可加快查询的速度。因此,请考虑将最初的开发工作重点放在受 I/O 约束的写密集型应用程序上,并寻找机会将daemon_memcached
插件与 MySQL 一起用于新的写密集型应用程序。
单行 DML 语句是最容易变成memcached
操作的语句类型。 INSERT
变成add
,UPDATE
变成set
,incr
或decr
,并且DELETE
变成delete
。通过 memcached 接口发出的这些操作保证仅影响一行,因为* key
*在 table 中是唯一的。
在以下 SQL 示例中,t1
table 示基于innodb_memcache.containers
table 中的配置用于 memcached 操作的 table。 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和DELETE语句从 table 中删除了所有行,它们与flush_all
操作相对应,其中t1
被配置为 memcached 操作的 table,如上例所示。
TRUNCATE TABLE t1;
DELETE FROM t1;