POST /indexName/typeName/_delete_by_query?conflicts=proceed&scroll_size=10000
{
"query": {
"range": {
"receive_date": {
"gte": "2019-10-01",
"lte": "2019-10-01"
}
}
}
}
一个完善的系统应该是有循环清理旧数据策略的. elk当日志平台的话,一般只需要保存一段时间就够了.删除策略就直接循环删除索引.
索引是每天生成一个,包含当天日期.这样才可以按照日期来进行删除.
可以用命令查看当前的索引
这种是属于比较简单粗暴的删除,真正的场合应该每个索引会保留不同的时间的,需要根据具体索引来定义删除时间.
首先,你的表肯定是做了外键等约束的,所以删除,要从最外层删除。假设你的数据库是Sql Server的。1、技能表
delete from 技能表 where 人物id in (select 人物id from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3))
2、装备属性表
delete from 装备属性表 where 装备id in (select 装备id from 装备表 where 人物id in (select 人物id from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3)))
3、装备表
delete from 装备表 where 人物id in (select 人物id from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3))
4、人物表
delete from 人物表 where 账号id in (select 账号id from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3)
5、账号表
delete from 账号表 where datediff(day,上次登录时间lasttime,getdate())>=3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)