Tag Archives: delete

表记录清理注意事项

By | 2014-11-12

常规表清理见 pt-archiver 工具: pt-archiver 1 如果表更新频繁, 不要直接使用delete … where id <= ? and update_time < ? 这类范围或结果集过大的SQL, 避免delete操作时间过长吃满thread资源影响服务; 2 如果满足条件的记录很多, delete 操作会是耗时操作,同样会引起1中的问题, 应用或脚本应该找出结果集范围对应的主键或唯一键信息, 通过分组方式一组一组的删除相应的id列表; 3 给予delete操作低优先级, 减少影响表的正常更新, 如 delete low_priority from table …; 4 如果结果集太大, 分组间隔可以增加sleep信息避免频繁更新引起的io或负载问题; 5 不要单条记录清除, 如果记录多, 与DB的交互会过于频繁; 脚本清理记录举例如下: (1) 按条件取出主键id的信息, 存入数组@list中; select id from user where count <= ? and update_time <… Read More »