数据库触发器以及定时操作

前言

这两个东西的出现东西都是为了解决一个问题:某一用户web后台某一操作后内存沾满溢出,导致内部线程停止如netty心跳.经过各处排查未找到问题所在,老大提示说是否是数据库表数据条数的问题;一看不得了 一个表一次就是几百条数据添加,以及是2w+的数据了.

查看当前数据库各表数据条数sql语句

1
2
3
4
5
  use information_schema;
select table_name,table_rows from tables where TABLE_SCHEMA = 'kdum_zh_test' order by
table_rows desc;

kdum_zh_test为表名

触发器

刚开始想的是这样的,当这张表实行insert的时候触发sql语句删除数据保留最近的一万条,后来发现问题 不能用这种 此表insert触发对这个表的sql,只能此表insert触发对其他表的sql这样。所以这个方案就被放弃了。但还是放下触发器相关的基本教程

定时器

定时器也就是定时实现的操作,看起来非常简单,我实践才发现一个问题,我们后台用的是mysql5.1这个版本,mysql定时器是在5.1.6才出现的。定时器,不过后来百度发现了这篇文章结合win的SCHTASKS 定时,没10分钟执行一次删除完美解决,关于此命令的帮助在dos命令输入SCHTASKS /QUERY /? 就能了解了


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!