使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;
