前面讲到的:insert … select … where not exist
其实好像也是为了实现:插入数据时,如果有重复则不插入。
参见:http://snowolf.iteye.com/blog/1568926
和INSERT IGNORE INTO 差不多,不过前者可以自己加条件,后者只能根据主键来判断是否重复。
MySql一些开发规范:
http://www.2cto.com/database/201403/285170.html
1. MYSQL SQL_NO_CACHE的真正含义 http://www.dewen.org/q/5149/Mysql
是
结果不缓存,但查询还是缓存了。
如果要重新测试,就在查询前先执行一下"FLUSH QUERY CACHE",清空一下query cache
2.INSERT ... ON DUPLICATE KEY UPDATE
可以实现 原主键记录存在的话更新, 不存在的话插入。
(而
REPLACE INTO 则会删除原来重复的记录,再插入)