# 指定并发，实际执行并发可能会多一个
threads=8

# 指定数据删除日期
delete_date=`date  +"%Y-%m-%d" -d  "-180 days"`

# 获取当前日期
current_date=$(date "+%Y%m%d")

# 生成数据删除范围
> ${current_date}.csv
rm -rf xa*
gen_range_sql="select t.id from (select id,row_number() over(order by id) as rn from (select id from spmi_transfer_bill where bill_generation_date='$delete_date') t ) t where t.rn%100000=1"
get_max="select max(id) from spmi_transfer_bill where bill_generation_date='$delete_date'"

mysql -uroot -P4000 -h127.0.0.1 $db -e "$gen_range_sql" -N >> ${current_date}.csv
mysql -uroot -P4000 -h127.0.0.1 $db -e "$get_max" -N >> ${current_date}.csv

# 生成删除 SQL
init_v=`cat ${current_date}.csv|head -1`
for v in `cat ${current_date}.csv`
do
v1=$init_v
v2=$v
echo "delete from spmi_transfer_bill where id between $v1 and $v2 and bill_generation_date='$delete_date';" >> del_sql.${current_date}
init_v=$v
done

# 并发切片
sed -i '1d' del_sql.${current_date}
delete_count=`cat del_sql.${current_date}|wc -l`
let split_num=$delete_count/$threads
split -l $split_num del_sql.${current_date}

# 执行并发删除
for i in `ls xa*`
do
mysql -uroot -P4000 -h127.0.0.1 $db < $i &
done
wait

# 清理数据
rm -rf xa*