使DML语句适应于内存缓存操作
基准测试表明,该daemon_memcached
插件在加快DML操作(插入,更新和删除)的速度方面要比其加快查询的速度更快。因此,请考虑将最初的开发工作重点放在受I / O约束的写密集型应用程序上,并寻找机会将MySQL与该daemon_memcached
插件一起用于新的写密集型应用程序。
单行DML语句是最容易转换为memcached
操作的语句类型。INSERT
变add
,UPDATE
变set
,incr
还是decr
和DELETE
成为delete
。由于这些操作在表中是唯一的,因此保证仅在通过memcached接口发出这些操作时才影响一行key
。
在以下SQL示例中,基于表中的配置,请参考t1
用于内存缓存操作的innodb_memcache.containers
表。key
指的是在下面列出的列key_columns
,并且val
指的是在下面列出的列value_columns
。
INSERT INTO t1 (key ,val)VALUES (some_key,some_value);SELECT valFROM t1WHERE key = some_key;UPDATE t1SET val = new_valueWHERE key = some_key;UPDATE t1SET val = val + xWHERE key = some_key;DELETE FROM t1WHERE key = some_key;
以下TRUNCATE TABLE
和DELETE
语句从表中删除了所有行,它们与该flush_all
操作相对应,如上例所示,该操作t1
被配置为memcached操作的表。
TRUNCATE TABLE t1;DELETE FROM t1;